$(function() { category = Array(); category['about'] = Array(); category['about']['title'] = "TOP/石山牧場"; category['about']['description'] = ""; category['about']['type'] = "ground"; category['about']['pagenation'] = "0"; category['about']['format'] = "Profile_Format_001"; category['root'] = Array(); category['root']['title'] = "TOP"; category['root']['description'] = ""; category['root']['type'] = "page"; category['root']['pagenation'] = "0"; category['root']['format'] = "Part_Content_001"; category['products/'] = Array(); category['products/']['title'] = "ホロシリ牛乳&牛乳屋さんのチーズ"; category['products/']['description'] = ""; category['products/']['type'] = "page"; category['products/']['pagenation'] = "2"; category['products/']['format'] = "Part_Content_011"; category['products/milk'] = Array(); category['products/milk']['title'] = "ホロシリ牛乳&牛乳屋さんのチーズ/ホロシリ牛乳"; category['products/milk']['description'] = ""; category['products/milk']['type'] = "ground"; category['products/milk']['pagenation'] = "3"; category['products/milk']['format'] = "Part_Content_007"; category['products/cheese'] = Array(); category['products/cheese']['title'] = "ホロシリ牛乳&牛乳屋さんのチーズ/牛乳屋さんのチーズ"; category['products/cheese']['description'] = ""; category['products/cheese']['type'] = "ground"; category['products/cheese']['pagenation'] = "4"; category['products/cheese']['format'] = "Part_Content_007"; category['milk'] = Array(); category['milk']['title'] = "TOP/ホロシリ牛乳"; category['milk']['description'] = ""; category['milk']['type'] = "ground"; category['milk']['pagenation'] = "5"; category['milk']['format'] = "Part_Content_002"; category['cheese'] = Array(); category['cheese']['title'] = "TOP/牛乳屋さんのチーズ"; category['cheese']['description'] = ""; category['cheese']['type'] = "ground"; category['cheese']['pagenation'] = "6"; category['cheese']['format'] = "Part_Content_003"; category['store'] = Array(); category['store']['title'] = "TOP/買えるお店"; category['store']['description'] = ""; category['store']['type'] = "ground"; category['store']['pagenation'] = "7"; category['store']['format'] = "Part_Content_006"; category['news'] = Array(); category['news']['title'] = "TOP/ニュース"; category['news']['description'] = ""; category['news']['type'] = "ground"; category['news']['pagenation'] = "8"; category['news']['format'] = "Part_Content_004"; category['news/'] = Array(); category['news/']['title'] = "ニュース一覧"; category['news/']['description'] = ""; category['news/']['type'] = "page"; category['news/']['pagenation'] = "9"; category['news/']['format'] = "Part_Content_010"; category['interview/'] = Array(); category['interview/']['title'] = "お父さん"; category['interview/']['description'] = ""; category['interview/']['type'] = "page"; category['interview/']['pagenation'] = "10"; category['interview/']['format'] = "Part_Content_012"; category['about/'] = Array(); category['about/']['title'] = "石山牧場について"; category['about/']['description'] = ""; category['about/']['type'] = "page"; category['about/']['pagenation'] = "11"; category['about/']['format'] = "Part_Content_013"; category['contact'] = Array(); category['contact']['title'] = "TOP/お問い合わせ"; category['contact']['description'] = ""; category['contact']['type'] = "ground"; category['contact']['pagenation'] = "12"; category['contact']['format'] = "Part_Content_005"; function htmlEncode(value){ return $('
').text(value).html(); } function htmlDecode(value){ return $('
').html(value).text(); } var href = ""; var past_href = location.href; var past_directory = $("body").attr("data-directory"); var past_modal_content_type = ""; var memo_scroll = 0; var id = past_href.replace( "https://horoshirimilk.com/", "" ).replace( "?mode=preview", "" ); var option = ""; function PJAX_pjax( href, option, target ) { id = href.replace( "https://horoshirimilk.com/", "" ).replace( "?mode=preview", "" ); if( href && past_href != href && href.indexOf( "#" ) == -1 ){ scroll_action_flag = false; if( typeof scroll_action_limiter != "undefined" ){ clearTimeout( scroll_action_limiter ); } past_href = href; console.log("──── pjax ────"); console.log("href: " + href); console.log("option: " + option); console.log("target: " + target); console.log("id: " + id); if( typeof pjax_request != "undefined" ){ pjax_request.abort(); } pjax_request = $.ajax({ url: "https://horoshirimilk.com/js_pjax_json.php", data: "id=" + id + "&type=json" + "", dataType: "json", success: function(data, dataType){ var pagetitle = data.pagetitle; var meta_og_image = data.meta_og_image; var permalink = data.permalink; var page_format = data.page_format; var body_class = data.body_class; var path = data.path; var directory = data.directory; var directory_1 = data.directory_1; var directory_2 = data.directory_2; var directory_3 = data.directory_3; var directory_4 = data.directory_4; var file = data.file; var scroll = data.scroll; var page_type = data.page_type; var pagenation = data.pagenation; var index_num = data.index_num; var index_parent_dir = data.index_parent_dir; var modal_content_type = data.modal_content_type; var modal_content_page_format = data.modal_content_page_format; var modal_content_entry_date = data.modal_content_entry_date; var modal_content_entry_title_jp = data.modal_content_entry_title_jp; var modal_content_entry_title_en = data.modal_content_entry_title_en; var modal_content_entry_description_jp = data.modal_content_entry_description_jp; var modal_content_entry_description_en = data.modal_content_entry_description_en; var modal_content_media = data.modal_content_media; if( option != "onpop" && // option != "forward" && option != "load_more" ){ console.log("push"); PJAX_pushState( href, pagetitle ); } document.title = pagetitle; var ga_title = pagetitle; $("body").attr("class",body_class); $("body").attr("data-directory",directory); $("body").attr("data-file",file); $("body").attr("data-scroll",scroll); $("body").attr("data-pagenation",pagenation); console.log("modal_content_type: " + modal_content_type); console.log("past_directory: " + past_directory); console.log("directory: " + directory); console.log("href: " + href); console.log("pagenation: " + pagenation); console.log("page_type: " + page_type); // var slsh_to_ub = ground_id.replace( "/", "_" ); // $("#navi nav li").removeClass("active"); // $("#navi nav li").removeClass("p_active"); // var target_nav = $(".class_" + slsh_to_ub + " a"); // target_nav.parent("li").removeClass("over"); // target_nav.parent("li").addClass("active"); // target_nav.closest("li.parent").removeClass("over"); // target_nav.closest("li.parent").addClass("p_active"); ie_scroll_on(); if( modal_content_type != "" ){ past_modal_content_type = modal_content_type; PJAX_ajaxload_modal( href, data, option, target ); }else{ if( option != "by_scroll" ){ if( option == "load_more" && target != "" ){ PJAX_ajaxload_loadmore( href, data, option, target ); }else if( past_directory != directory ){ past_directory = directory; scrollto(0); PJAX_ajaxload_directory( href, data, option, target ); }else if( past_directory == directory && scroll == "" ){ scroll_action_flag = true; if( past_modal_content_type == "" ){ scrollto(0); }else{ } }else{ scroll_action_flag = true; $("html").removeClass("scrolled"); $("html").removeClass("scrollend"); var scrollto_val = 0; if( scroll != "" ){ scrollto_val = $("#" + selectorEscape(scroll)).offset().top; } if( option != "to_close" ){ scrollto(scrollto_val); } } } past_modal_content_type = ""; } // if( data.index_num > 1 ){ // option = "forward"; // } // if( $("div#entry > *")[0] ){ // $("div#entry").empty(); // $("div#entry").css("top", 0); // } // if( page_type == "entry" ){ // body_class += " " + "modal"; // scroll_action_flag = false; // memo_scroll = $(window).scrollTop(); // $("div#entry").css("top", memo_scroll + "px"); // $("div#entry").removeClass().addClass(id.replace(/\//g, " ")); // $("body").attr("class",body_class); // PJAX_ajax_load( id,data,option ); // }else if( $("body.modal")[0] ){ // $('html,body').animate({ // scrollTop: memo_scroll // }, 1000, "easeOutQuint"); // $("div#entry").removeClass("active"); // $("body").attr("class",body_class); // scroll_action_flag = true; // }else{ // PJAX_ajax_load( id,data,option ); // } }, error: function(XMLHttpRequest, textStatus, errorThrown){ } }); }else{ if( option != "by_scroll" ){ var elm_id = id.replace( /\//, '\\/' ); if( $("#"+elm_id)[0] ){ var target= $("#"+elm_id); var scrollto_val = target.offset().top; scrollto(scrollto_val); }else{ scrollto(0); } } } } function PJAX_ajaxload_modal( href, data, option, target ) { $("#entry").empty(); if( typeof ajax_request != "undefined" ){ ajax_request.abort(); } ajax_request = $.ajax({ url: href, dataType: "html", success: function(data, dataType){ var get_elm = $('#entry > *', $('
').prepend(data)); $("#entry").append(get_elm); $("#entry > div.inner").addClass("pending"); setTimeout( function(){ $("#entry > div.inner").removeClass("pending"); ie_scroll_off(); } , 100); var container_id = $("body #container > div#base > article").attr("id"); if( container_id == "root" ){ container_id = ""; } var return_href = "https://horoshirimilk.com/" + container_id; $("#entry a.pjax.close").attr("href",return_href); $("#entry a.pjax.return").attr("href",return_href); img_load(); window_resize(); $("div#entry > div.inner > article > a.to_top").remove(); }, error: function(XMLHttpRequest, textStatus, errorThrown){ } }); } function PJAX_ajaxload_directory( href, data, option, target ) { $("html").addClass("ajax_moving"); var scroll = data.scroll; if( typeof ajax_request != "undefined" ){ ajax_request.abort(); } ajax_request = $.ajax({ url: href, dataType: "html", success: function(data, dataType){ var get_elm = $('#container > div#base > article', $('
').prepend(data)); $("#container > div#base > article").addClass("leave"); $("#container > div#base").append(get_elm); $("#container > div#base > article").addClass("ajax"); setTimeout( function(){ window_resize(); $("#container > div#base > article.leave").remove(); var scrollto_val = 0; if( scroll != "" ){ scrollto_val = $("#" + selectorEscape(scroll)).offset().top; } scrollto(scrollto_val); $("html").removeClass("ajax_moving"); window_resize(); } , 1000); img_load(); window_resize(); scroll_action_flag = true; }, error: function(XMLHttpRequest, textStatus, errorThrown){ } }); } function PJAX_ajaxload_loadmore( href, data, option, target ) { var scroll = data.scroll; if( typeof ajax_request != "undefined" ){ ajax_request.abort(); } ajax_request = $.ajax({ url: href, dataType: "html", success: function(data, dataType){ target.children("li.load_more").remove(); var get_elm = $('div.index > ul > *', $('
').prepend(data)); target.append(get_elm); img_load(); window_resize(); scroll_action_flag = true; }, error: function(XMLHttpRequest, textStatus, errorThrown){ } }); } function scrollto(val){ scroll_action_flag = false; $('html,body').stop().animate({ scrollTop: val }, 1000, "easeOutQuint",function(){ scroll_action_flag = true; }); } $.fn.hasAttr = function(val){ var result = false; if (val && val !== '') { var attrValue = $(this).attr(val); if (typeof attrValue !== 'undefined' && attrValue !== false) { result = true; } } return result; }; function PJAX_pushState( href, title ) { if ( window.history.pushState ) { window.history.pushState( title, null, href ); } else { } } window.onpopstate = function(event){ if (event.state) { } else { } var href = location.href; if ( window.history.pushState ) { PJAX_pjax( href, "onpop", "" ); } else { var href = "https://horoshirimilk.com/#!/" + href.replace( /^.\//, '' ); window.location = href; } } $(document).on("click", "a.pjax", function(){ var href = $(this).attr("href"); var option = ""; if ( window.history.pushState ) { if( $(this).hasClass("to_close") ){ option = "to_close"; } PJAX_pjax( href, option, "" ); } else { var href = href.replace( "https://horoshirimilk.com/", "" ); var href = "https://horoshirimilk.com/#!/" + href.replace( /^.\//, '' ); var past_href = location.href; window.location = href; } return false; }); $(document).on("click", "div.index > ul > li.load_more > a.pjax_load_more", function(){ var href = $(this).attr("href"); var target = $(this).closest("ul"); if ( window.history.pushState ) { var parent = $(this).parent(); parent.addClass("loading"); parent.append('
loading
'); PJAX_pjax( href, "load_more", target ); } return false; }); $(window).hashchange( function(){ var hash = location.hash; if( hash.indexOf( "#!/" ) != -1 ){ var href = hash.replace( /^#!\//, '' ); if( href == "" ){ var href = "https://horoshirimilk.com/"; } PJAX_pjax( href, "", "" ); } }) $(window).bind('load', function() { var hash = location.hash; if( hash.indexOf( "#!/" ) != -1 ){ var href = hash.replace( /^#!\//, '' ); if ( window.history.pushState ) { window.location = href; }else{ PJAX_pjax( href, "", "" ); } } }); function scroll_trigger() { if( !$("html.ajax_moving")[0] && $(".scroll_trigger")[0] ){ var target = $(".scroll_trigger"); var length = target.length; for(var i=0; i 800 ){ var tracking = 0.5; move_y -= window_height/5; }else{ var tracking = 0.25; move_y -= window_height/4; } if( target_parallax.attr("data-tracking") ){ var tracking = target_parallax.attr("data-tracking"); } target_parallax.css({"transform": "matrix(1, 0, 0, 1, 0, "+ -move_y*tracking +")"}); } } if( $("body #container > div#base > article#about\\/")[0] ){ if( target.eq(i).hasAttr("data-trigger") ){ var in_position = position - window_height/2; }else{ var in_position = position - window_height/10*8; } var elm_height = target.eq(i).height(); var window_top_position = $(window).scrollTop(); if( in_position < window_top_position && window_top_position < (in_position + elm_height) ){ if( ! target.eq(i).hasClass("action") ){ if( target.eq(i).find(".textillate")[0] ){ // alert("a"); text_fade_start( target.eq(i).find(".textillate > span") ); } if( target.eq(i).hasAttr("data-trigger") ){ if( $("div.float_elm_wrapper")[0] ){ var set_class = target.eq(i).attr("data-trigger"); $("div.float_elm_wrapper").attr("class","float_elm_wrapper"); $("div.float_elm_wrapper").addClass(set_class); } } target.eq(i).addClass('action'); } }else{ if( target.eq(i).hasClass("action") ){ target.eq(i).removeClass('action'); } } }else{ if(target.eq(i).hasClass('action')) continue; var in_position = position + window_height/10; var window_bottom_position = $(window).scrollTop() + $(window).height(); if(in_position < window_bottom_position){ target.eq(i).addClass('action'); if( target.eq(i).find(".textillate")[0] ){ text_fade_start( target.eq(i).find(".textillate > span") ) } } } } } } function text_fade_start( target ){ setTimeout(function(){ target.each(function(i){ $(this).delay(i *1200).queue(function(next) { $(this).textillate({ in: { effect: 'fadeIn', delay: 100 } }).dequeue(); next(); }); }); },100); } var document_height = $(document).height(); if( $("html.touch_device")[0] ){ if( window.innerHeight > window.innerWidth ){ var window_height = screen.height; }else{ var window_height = screen.width; } }else{ var window_height = window.innerHeight ? window.innerHeight: $(window).height(); } var window_width = $(window).width(); var window_ratio = window_height / window_width; var scroll_val = $(window).scrollTop(); var scroll_action_flag = true; if( $("body.modal")[0] ){ scroll_action_flag = false; } function window_action() { scroll_trigger(); scroll_val = $(window).scrollTop(); if( scroll_val < window_height/4 ){ $("html").removeClass("scrolled") $("html").removeClass("scrollend") }else if( scroll_val >= window_height/4 && scroll_val+window_height < document_height ){ $("html").addClass("scrolled") $("html").removeClass("scrollend") }else{ $("html").addClass("scrolled") $("html").addClass("scrollend") } if( scroll_val < window_height ){ $("body #header").css({"top": scroll_val/4}); } if( $("body #container > div#base > article > header > img.bg.object_fit")[0] ){ if( scroll_val < window_height*2 ){ $("body #container > div#base > article > header > img.bg.object_fit").css({ "transform": "matrix(1, 0, 0, 1, 0, "+ (scroll_val/2) +")" }); } } if( $("body #container > div#base > article#about\\/ > div.body > div.float_elm_wrapper > div.part_float.section_01 > img.object_fit.main")[0] && scroll_val < window_height ){ var about_top_img_opac = 1-(scroll_val/window_height)*4; if( about_top_img_opac <= 1 ){ $("body #container > div#base > article#about\\/ > div.body > div.float_elm_wrapper > div.part_float.section_01 > img.object_fit.main").css({"opacity": about_top_img_opac}); } } if( scroll_action_flag === true && $("body #container > div#base .ground")[0] ){ scroll_action_flag = false; if( typeof scroll_action_limiter != "undefined" ){ clearTimeout( scroll_action_limiter ); } scroll_action_limiter = setTimeout( function(){ $("body #container > div#base .ground").each(function(){ if( $(this).attr("id") != null ){ var ground_id = $(this).attr("id"); if( typeof category[ground_id] != "undefined" ){ var ground_offset = $("#" + selectorEscape( ground_id )).offset().top; var ground_height = $("#" + selectorEscape( ground_id )).height(); if( scroll_val >= ground_offset && scroll_val <= ground_offset + ground_height ){ // console.log(id); // console.log(ground_id); var href = "https://horoshirimilk.com/" + ground_id; // console.log("scroll::"+href); PJAX_pjax( href, "by_scroll", "" ); }else if( scroll_val < $("body #container > div#base .ground").first().offset().top ){ if( $("body").attr("data-scroll") != "" ){ var scroll_split = $("body").attr("data-scroll").split('/'); var ground_directory = $("body").attr("data-scroll").replace( scroll_split[scroll_split.length-1], "" ); var href = "https://horoshirimilk.com/" + ground_directory; // console.log("top::"+href); PJAX_pjax( href, "by_scroll", "" ); } } } } }); scroll_action_flag = true; } , 1000); } } function window_resize() { document_height = $(document).height(); if( $("html.touch_device")[0] ){ if( window.innerHeight > window.innerWidth ){ window_height = screen.height; }else{ window_height = screen.width; } }else{ window_height = window.innerHeight ? window.innerHeight: $(window).height(); } window_width = $(window).width(); window_ratio = window_height / window_width; if( window_ratio > 1 ){ $("html").removeClass("horizontal"); $("html").addClass("portrait"); }else{ $("html").removeClass("portrait"); $("html").addClass("horizontal"); } if( window_ratio < 0.6 ){ $("html").addClass("panorama"); }else{ $("html").removeClass("panorama"); } // if( $("body").hasClass("navi_open") ){ // $("body").removeClass("navi_open"); // } if( $("body #container > div#base > article#root > header")[0] ){ $("body #container > div#base > article#root > header").css({"height": window_height*2}); } if( $("body #container > div#base > article#root > div#slide_wrapper")[0] ){ $("body #container > div#base > article#root > div#slide_wrapper").css({"height": window_height}); } if( $("body #container > div#base > article#root > div#slide_wrapper")[0] ){ $("body #container > div#base > article#root > div#slide_wrapper > div#SLIDE > ul > li").each(function(){ var target_li = $(this); var target_img = $(this).find("img"); target_img.imagesLoaded(function(){ target_img.addClass("loaded"); var img_ratio = target_img.height() / target_img.width(); target_li.removeClass("horizontal vertical"); if( window_ratio < img_ratio ){ target_li.addClass("vertical"); }else{ target_li.addClass("horizontal"); } }); }); } if( $("body #container > div#base > article#about\\/ > div.body > h1")[0] ){ $("body #container > div#base > article#about\\/ > div.body > h1").css({"height": window_height}); $("body #container > div#base > article#about\\/ > div.body > section.about > div.inner > div.base > header").css({"height": window_height}); } window_action(); } $(window).scroll(function(){ window_action(); }); $(window).bind("resize", window_resize); function selectorEscape(val){ return val.replace(/\//g, '\\/'); } $("html").data("preloaded", 0); function preload(){ var img = [], img_arr = $("img.preload"), // ローディング対象の画像を指定 img_arr_lngth = img_arr.size(); var img_arr_lngth_total = img_arr_lngth; if( img_arr_lngth_total > 0 ){ img_arr.each(function(indx){ img[indx] = new Image(); img[indx].onload = function(){ img_arr_lngth = img_arr_lngth - 1; var progress = Math.round((1-img_arr_lngth/img_arr_lngth_total)*100); $("div.progress").stop().animate({"height": progress + "%"},2000); if( 0 >= img_arr_lngth ){ $("html").data("preloaded", 1); $("div.progress").stop().animate({"height": "100%"},2000,"easeOutQuad",function(){ setTimeout(function(){ $("div#preloader").fadeOut(1000, function() { $(this).remove(); window_resize(); $("html").addClass("start"); }); },500); }); } }; img[indx].src = $(this).attr('src'); }); }else{ $("html").data("preloaded", 1); $("div#progress").stop().animate({"height": "100%"},2000,"easeOutQuad",function(){ $("div#preloader").fadeOut(1000, function() { $(this).remove(); window_resize(); }); }); } } function ie_scroll_on() { if( $("html.pc.ie")[0] ){ var scrolly = 0; var speed = 150; $(document).on("mousewheel", "html", function(event, mov) { if (mov > 0) scrolly = $('html').scrollTop() - speed; else if (mov < 0) scrolly = $('html').scrollTop() + speed; $('html,body') .stop() .animate({scrollTop: scrolly}, 'slow',$.easie(0,0,0,1)); return false; }); } } function ie_scroll_off() { if( $("html.pc.ie")[0] ){ $(document).off("mousewheel"); } } function img_load(){ $("img.preload:not('.loaded')").each(function(){ $(this).imagesLoaded(function(){ $(this).addClass("loaded"); }); }); } $("div#preloader > div.bg > div.logo_wrapper > img.logo").imagesLoaded(function(){ $("div#preloader > div.bg").addClass("show"); preload(); }); $(window).bind('load', function() { img_load(); window_resize(); $("div#entry > div.inner > article > a.to_close").remove(); if( $("body #container > div#base .ground")[0] ){ var target = $("#" + selectorEscape($("body").attr("data-scroll"))); if( target[0] ){ var val = target.offset().top; scrollto(val); } } }); $(document).on("click", "body #container > div#base > article#about\\/ > div.body > h1 > div.scroll", function(){ scrollto(window_height); return false; }); });