(function() { jQuery.fn.MultiNaviSlider = function(config){ config = jQuery.extend({ WrapperBox : "#visual_wrapper", SelectorBox : "#visual_selector", SelectorListTag : "li", SelectorCurrentClass : "current", Box : ".wrappers", NaviList : ".navi", NaviListTag : "li", NaviCurrentClass : "current", ImgList : ".img", ImgListTag : "li", FirstWrappersNum : 0, FirstNaviNum : 0, effect : "fade", speed : 300, timer : 3000 },config); //reset var obj = $(this); var selectorObj = $(config.SelectorBox); var selectors = $(config.SelectorListTag ,selectorObj); var wrapperObj = $(config.WrapperBox ,obj); var wrappers = $(config.Box ,wrapperObj); var wrappersWidth = wrappers.width(); var wrappersHeight = wrappers.height(); var wrapperLength = wrappers.size(); //position var wrapperCurrent = $(config.Box + ":eq(" + config.FirstWrappersNum + ")" ,wrapperObj); var selectorCurrent = $(config.SelectorListTag + ":eq(" + config.FirstWrappersNum + ")" ,selectorObj); var naviCurrent = $(config.NaviList + " " + config.NaviListTag + ":eq(" + config.FirstNaviNum + ")",wrapperCurrent); var imgCurrent = $(config.ImgList + " " + config.ImgListTag + ":eq(" + config.FirstNaviNum + ")" ,wrapperCurrent); selectorCurrent.addClass(config.SelectorCurrentClass); naviCurrent.addClass(config.NaviCurrentClass); //weappers fit size wrapperObj.css("width", wrappersWidth * wrapperLength); //selector reset var selectorNum = 0; selectors.each(function(){ //get dom var obj = $(this); //link detox $("a",obj).attr("href","javascript:void(0)").attr("name",selectorNum); selectorNum++; obj.click(function(){ var new_selectorCurrent = $(this); var num = $("a",new_selectorCurrent).attr("name"); var prev_num = $("a",selectorCurrent).attr("name"); if(num != prev_num){ selectorCurrent.removeClass(config.SelectorCurrentClass); new_selectorCurrent.addClass(config.SelectorCurrentClass); wrapperCurrent = $(config.Box + ":eq(" + num + ")" ,wrapperObj); selectorCurrent = new_selectorCurrent; new_naviCurrent = $(config.NaviList + " " + config.NaviListTag + ":first",wrapperCurrent); switch_wrapper(num); switch_img(new_naviCurrent,true); } }); }); wrappers.each(function(){ var obj = $(this); $(config.NaviList + " " + config.NaviListTag ,wrappers).mouseover(function(){ switch_img($(this)); }); $(config.ImgList + " " + config.ImgListTag ,wrappers).hide(); $(config.ImgList + " " + config.ImgListTag + ":eq(" + config.FirstNaviNum + ")" ,wrappers).show(); }); //time var timeout = ""; var timefunction = function timer(){ var new_naviCurrent = naviCurrent.next(); if(new_naviCurrent.attr("class") == undefined){ //remove class selectorCurrent.removeClass(config.SelectorCurrentClass); var nextNum = $("a",selectorCurrent.next()).attr("name"); if(nextNum != undefined){ var new_selectorCurrent = selectorCurrent.next(); new_selectorCurrent.addClass(config.SelectorCurrentClass); switch_wrapper(nextNum); wrapperCurrent = wrapperCurrent.next(); } else { var new_selectorCurrent = $(config.SelectorListTag + ":eq(0)" ,selectorObj); new_selectorCurrent.addClass(config.SelectorCurrentClass); switch_wrapper(0); wrapperCurrent = $(config.Box + ":eq(0)" ,wrapperObj); } selectorCurrent = new_selectorCurrent; new_naviCurrent = $(config.NaviList + " " + config.NaviListTag + ":first",wrapperCurrent); switch_img(new_naviCurrent,false); } else { switch_img(new_naviCurrent,true); } } function reloadfunction(){ timeout = setTimeout(timefunction, config.timer); } function switch_wrapper(num){ var margin = 0 - (num * wrappersWidth); wrapperObj.animate({ marginLeft: margin }, 300 ); } function switch_img(obj,chenge){ var new_naviCurrent = obj; naviCurrent.removeClass(config.NaviCurrentClass); new_naviCurrent.removeClass(config.NaviCurrentClass); var naviCurrentClass = naviCurrent.attr("class"); var new_naviCurrentClass = new_naviCurrent.attr("class"); if(!chenge){ if(naviCurrentClass != new_naviCurrentClass){ new_naviCurrent.addClass(config.NaviCurrentClass); //set now naviCurrent = new_naviCurrent; //animation switch(config.effect){ case "fade": $(config.ImgList + " " + config.ImgListTag + "." + new_naviCurrentClass ,wrapperCurrent).fadeIn(config.speed); imgCurrent.fadeOut(config.speed); break; case "slide": $(config.ImgList + " " + config.ImgListTag + "." + new_naviCurrentClass ,wrapperCurrent).slideDown(config.speed); imgCurrent.slideUp(config.speed); break; case "none": $(config.ImgList + " " + config.ImgListTag + "." + new_naviCurrentClass ,wrapperCurrent).show(); imgCurrent.hide(); break; } //set now imgCurrent = $(config.ImgList + " " + config.ImgListTag + "." + new_naviCurrentClass ,wrapperCurrent); clearTimeout(timeout); } else { //chenge navi naviCurrent.addClass(config.NaviCurrentClass); //set now naviCurrent = new_naviCurrent; clearTimeout(timeout); } } else { new_naviCurrent.addClass(config.NaviCurrentClass); //set now naviCurrent = new_naviCurrent; //animation switch(config.effect){ case "fade": $(config.ImgList + " " + config.ImgListTag + "." + new_naviCurrentClass ,wrapperCurrent).fadeIn(config.speed); imgCurrent.fadeOut(config.speed); break; case "slide": $(config.ImgList + " " + config.ImgListTag + "." + new_naviCurrentClass ,wrapperCurrent).slideDown(config.speed); imgCurrent.slideUp(config.speed); break; case "none": $(config.ImgList + " " + config.ImgListTag + "." + new_naviCurrentClass ,wrapperCurrent).show(); imgCurrent.hide(); break; } //set now imgCurrent = $(config.ImgList + " " + config.ImgListTag + "." + new_naviCurrentClass ,wrapperCurrent); clearTimeout(timeout); } reloadfunction(); } //start timer reloadfunction(); }; })(jQuery); // 個別ページ読み込み時のスクリプト処理 var newsSelector = ""; function loadFunction(){ //alert("ロードが正常に行われました。"); //ロールオーバー $("#topSearch li img").imgOver({nomal:"_n.",over:"_o."}); //ビジュアル処理 if($("#ivNavi").check()){ $("#ivNavi").MultiNaviSlider(); } $("#newsBox .item:even").each(function(){ var obj = $(this); obj.addClass("even"); }); $("#newsBox .item").each(function(){ //cache var obj = $(this); //over obj.mouseover(function(){ var obj = $(this); obj.addClass("hover"); }); //out obj.mouseout(function(){ var obj = $(this); obj.removeClass("hover"); }); $(".title a",obj).click(function(){ window.location = $(this).attr("href"); }); //click obj.click(function(){ var obj = $(this); if(newsSelector != ""){ newsSelector.removeClass("open"); $(".contents" ,newsSelector).slideUp(100); if(newsSelector.get(0) != obj.get(0)){ obj.addClass("open"); $(".contents" ,obj).slideDown(100); newsSelector = obj; } else { obj.removeClass("open"); $(".contents" ,obj).slideUp(100); newsSelector = ""; } } else { obj.addClass("open"); $(".contents" ,obj).slideDown(100); newsSelector = obj; } }); }); // Animate buttons, move reflection and fade $("#caseBox dd a").moveUp({top:'-10px',speed:200}); // Animate buttons, move reflection and fade $("#topMenu .inner .panel").moveUp({top:'-10px',speed:200}); }