jQuery(function($) { /* ===================================================================== * 全体の設定 ==================================================================== */ /* ===================================================================== * ページごとの設定 ==================================================================== */ // トップページ //---------------------------------------------------------- if ($('body.home').size()) { // 本番サイトかテストサイトか //---------------------------------------------------------- var url = $.url(); var inc = []; var is_mirror = false; inc.next_url = 'page/'; inc.next_cat_url_pre = 'archives/category/'; inc.next_cat_url_suf = '/page/'; inc.next_year_url_pre = 'archives/date/'; inc.next_year_url_suf = '/page/'; inc.next_url_ext = ''; if (url.attr('host').indexOf('n-jr.jp') > -1) { inc.next_url_ext = '.html'; is_mirror = true; } // 基本のAjax設定 //---------------------------------------------------------- var base_ajax_args = { type: 'GET', timeout: 10000, datatype: 'html' }; // ページ読み込み時 //---------------------------------------------------------- (function() { $.ajax(inc.next_url + '2' + inc.next_url_ext, base_ajax_args).done(function(data) { var post_list = $(data).find('#main .post-list'); if ($(post_list).find('> .item').length) { $('#main #more-btn01').show(0); } }).fail(function() { $('#main #more-btn01').hide(0); }); })(); // スマホメニューの開け閉めなど //---------------------------------------------------------- $('#blognav-sp #blognav-sp-current').on('click', function() { $('#blognav-sp #blognav-sp-menu').stop().slideToggle(100, function() { if ($(this).css('display') === 'block') { $('#blognav-sp #blognav-sp-current').addClass('open'); } else { $('#blognav-sp #blognav-sp-current').removeClass('open'); } }); }); $('#blognav-sp .blognav-sp-close').on('click', function() { $('#blognav-sp #blognav-sp-menu').slideUp(100); $('#blognav-sp #blognav-sp-current').removeClass('open'); }); // ウインドウ幅を変えた場合の処理 $(window).on('load resize', function() { if ($(window).width() > 768) { $('#blognav-sp #blognav-sp-menu').hide(0); $('#blognav-sp #blognav-sp-current').removeClass('open'); } }); // カテゴリーや年ボタンを押したとき //---------------------------------------------------------- $('#main #blognav .btn, #main #blognav-sp .btn').on('click', function() { var pc_btn = $(this); var sp_btn = $(this); if ($(this).attr('data-sp') === 'on') { pc_btn = $('#main #blognav .btn[data-group-id="' + $(this).attr('data-group-id') + '"]'); } else { sp_btn = $('#main #blognav-sp .btn[data-group-id="' + $(this).attr('data-group-id') + '"]'); } if (!pc_btn.hasClass('current')) { // スマホ版のメニューを閉じる $('#blognav-sp #blognav-sp-menu').slideUp(100); $('#blognav-sp #blognav-sp-current').removeClass('open'); // 全てのボタンのpageを1にする $('#main #blognav .btn').each(function() { $(this).attr('data-page', '1'); }); // 追加で読み込んだ記事リストを削除 $('#main .post-list .item.add').remove(); var group = []; group.name = pc_btn.attr('data-group-name'); group.id = pc_btn.attr('data-group-id'); group.type = pc_btn.attr('data-group-type'); group.next_url = inc.next_url; if (group.type === 'cat') { group.next_url = inc.next_cat_url_pre + group.name + inc.next_cat_url_suf; } else if (group.type === 'year') { group.next_url = inc.next_year_url_pre + group.name + inc.next_year_url_suf; } $('#main #blognav .btn').removeClass('current'); pc_btn.addClass('current'); $('#main #blognav-sp-menu .btn').removeClass('current'); sp_btn.addClass('current'); $('#main #blognav-sp #blognav-sp-current').text(pc_btn.text()); $('#main .post-list').fadeOut(100); $('#main #post-list-' + group.id).fadeIn(100); var more_btn = $('#main #more-btn01'); if ($('#main #post-list-' + group.id).find('> .item').length === 20) { $.ajax(group.next_url + '2' + inc.next_url_ext, base_ajax_args).done(function(data) { var post_list = $(data).find('#main .post-list'); if ($(post_list).find('> .item').length) { more_btn.show(0); } }).fail(function() { more_btn.hide(0); }); } else { more_btn.hide(0); } } }); // もっと読むボタンを押したとき //---------------------------------------------------------- $('#main #more-btn01').on('click', function() { var group = []; group.elem = $('#main #blognav .btn.current'); group.name = group.elem.attr('data-group-name'); group.id = group.elem.attr('data-group-id'); group.type = group.elem.attr('data-group-type'); group.next_url = inc.next_url; if (group.type === 'cat') { group.next_url = inc.next_cat_url_pre + group.name + inc.next_cat_url_suf; } else if (group.type === 'year') { group.next_url = inc.next_year_url_pre + group.name + inc.next_year_url_suf; } group.page = group.elem.attr('data-page'); group.page = parseInt(group.page); var more_btn = $('#main #more-btn01'); $.ajax(group.next_url + (group.page + 1) + inc.next_url_ext, base_ajax_args).done(function(data) { $('#main #blognav .btn.current').attr('data-page', group.page + 1); var post_list = $(data).find('#main .post-list'); var post_list_num = $(post_list).find('.item').length; if (is_mirror) { post_list.find('a').each(function() { var post_href = $(this).attr('href'); if (group.type === 'all') { post_href = post_href.replace('../', ''); } else { post_href = post_href.replace('../../..', 'archives'); } $(this).attr('href', post_href); }); } post_list = post_list.find('> .item'); $('#main #post-list-' + group.id).append(post_list); if (post_list_num === 20) { $.ajax(group.next_url + (group.page + 2) + inc.next_url_ext, base_ajax_args).done(function(data) { var post_list = $(data).find('#main .post-list'); if (!$(post_list).find('> .item').length) { more_btn.hide(0); } }).fail(function() { more_btn.hide(0); }); } else { more_btn.hide(0); } }).fail(function() { more_btn.hide(0); }); }); } });