/********************************************* * roomid.js * ------------------------------------------- * @init * @plugin *********************************************/ /* ------------------------------------------- * @noConflict ------------------------------------------- */ jqNew = jQuery.noConflict(); if($ === undefined){ $ = jQuery; } j$ = jQuery || jqNew; /* ------------------------------------------- * @init ------------------------------------------- */ j$(function(){ var u = new EPOS_CARD.Util(); j$.spSlider(); j$.otherSlider(); j$.moreInfo(); j$.gNav(); j$.spMenuControl(); j$.accordion02(); j$.downloadTab(); j$.floatingControlHasCookie(); j$.balloon(); }); j$(window).on("load resize", function(){ j$.floating(); }); /* ------------------------------------------- * @plugin ------------------------------------------- */ (function(j$){ /* * @plugin - floating */ j$.floating = function(){ var c = j$.extend({ typeLogout: ".floatingBtn.login", typeLogIn: ".floatingBtn.logout", expiration: 60 // 有効期限(日) }); // cookie取得関数 function getCookie(c_name){ var st = ""; var ed = ""; if(document.cookie.length>0){ // クッキーの値を取り出す st = document.cookie.indexOf(c_name + "="); if(st !== -1){ st = st+c_name.length+1; ed = document.cookie.indexOf(";",st); if(ed === -1) { ed=document.cookie.length; } // 値をデコードして返す return unescape(document.cookie.substring(st,ed)); } } return ""; } /* vars -------------------------------------------------- */ var $target_Out = $(".floatingBtn.login"), $target_In = $(".floatingBtn.logout"); if($target_Out.length === 0){ return false; } $target_Out.hide(); $target_In.hide(); /* 会員cookieが無ければログアウトバナーを表示 */ if(getCookie("esc_if") === ""){ $target_Out.show(); } else { $target_In.show(); } }; /* * @plugin - spSlider */ j$.spSlider = function(){ var u = new EPOS_CARD.Util(); var $wrap = j$(".ftInner"), $slides = $wrap.find(".bnList"), winW = u.$win.width(); if($slides.length === 0){ return false; } /*$('.bnList').slick({ autoplay:true, centerMode: true, centerPadding: 0, slidesToShow: 4, initialSlide: 2, prevArrow: '', nextArrow: '', responsive : [ // ブレイクポイントごとに設定を変更 { breakpoint: 750, settings: { //autoplay:true, //centerMode: true, //centerPadding: 0, slidesToShow: 1, initialSlide: 1, prevArrow: '', nextArrow: '' } } ] });*/ if(winW > u.breakPoint1){ $slides.slick({ autoplay:true, centerMode: true, centerPadding: 0, slidesToShow: 4, initialSlide: 2, prevArrow: '', nextArrow: '' }); } if(winW < u.breakPoint1){ $slides.slick({ autoplay:true, centerMode: true, centerPadding: 0, slidesToShow: 1, initialSlide: 0, prevArrow: '', nextArrow: '' }); } }; /* * @plugin - otherSlider */ j$.otherSlider = function(){ var u = new EPOS_CARD.Util(); var $wrap = j$(".sliderWrap"), winW = u.$win.width(), $otherSlides01 = $wrap.find(".sliderCol3"); if($wrap.length === 0){ return false; } if(winW >= u.breakPoint1){ $otherSlides01.slick({ autoplay:false, centerMode: true, centerPadding: 0, slidesToShow: 3, initialSlide: 1, variableWidth: true, prevArrow: '', nextArrow: '' }); } if(winW < u.breakPoint1){ $otherSlides01.slick({ autoplay:false, centerPadding: 0, slidesToShow: 1, initialSlide: 0, variableWidth: true, prevArrow: '', nextArrow: '' }); } }; /* * @plugin - moreInfo */ j$.moreInfo = function(){ var openNm = "open", $toggleContent = j$(".maintenanceInner01"), $inner = j$(".maintenanceMore"), $trigger = j$(".maintenanceClose"), speed = 300; if($toggleContent.length === 0){ return false; } // 閉じるボタンクリック $trigger.click(function(){ if($toggleContent.hasClass(openNm)){ $toggleContent.removeClass(openNm); $inner.stop().slideUp(speed); } else { $toggleContent.addClass(openNm); $inner.stop().slideDown(speed); } }); }; /* * @plugin - gNav */ j$.gNav = function(){ var $elm = j$(".globalNav01"), $nav = $elm.find("li a"), onClass = "on"; if($elm.length === 0){ return false; } $nav.each(function(){ var $href = j$(this).attr("href"); if(location.href.match($href)) { j$(this).parent("li").addClass(onClass); } else { j$(this).parent("li").removeClass(onClass); } }); }; /* * @plugin - spMenuControl */ j$.spMenuControl= function(config){ var c = j$.extend({ menuTrigger: ".menuBtn", menuWrap: "#menuWrap", openNm: "open", closeNm: "close", closeBtn: ".closeBtn", fixNm: "fixed", fadeSpeed: 300, HTML_SKIN: j$('
'), CSS_SKIN: { position: "fixed", opacity: 0, top: 0, left: 0, width: "100%", height: j$(document).height(), display: "block", background: "rgba(68,68,68,0.95)", "z-index": "999" } },config); var $menuTrigger = j$(c.menuTrigger), $menuWrap = j$(c.menuWrap), $closeBtn = j$(c.closeBtn), $skin = j$(c.HTML_SKIN).css(c.CSS_SKIN); /* 幅可変に対応 */ var winChangeLoad = function(){ var resize = false, interval = 500; var u = new EPOS_CARD.Util(); j$(window).on("resize", function(){ // リサイズされている間は何もしない if(resize !== false){ clearTimeout(resize); } resize = setTimeout(function(){ if(!u.isRangeSP()){ $skin.remove(); } else { } }, interval); }); }; winChangeLoad(); // function var menuOpen = function(){ $menuWrap.show().addClass(c.openNm).stop().animate({ opacity: 1.0 },c.fadeSpeed); $skin.appendTo("body").stop().animate({ opacity: 1.0 },c.fadeSpeed); $menuTrigger.addClass(c.openNm); j$("body").css("cursor","pointer"); }; var menuClose = function(){ $menuWrap.stop().animate({ opacity: 0 },c.fadeSpeed,function(){ $menuWrap.hide().removeClass(c.openNm); }); $skin.stop().animate({ opacity: 0 },c.fadeSpeed,function(){ $skin.remove(); }); $("html, body").animate({ scrollTop: 0 }, 300, "swing"); $menuTrigger.removeClass(c.openNm); j$("body").css("cursor","inherit"); }; // trigger $menuTrigger.on("click",function(){ if($menuWrap.hasClass(c.openNm)){ menuClose(); } else { menuOpen(); } }); $closeBtn.on("click",function(){ menuClose(); }); // 領域外クリック j$("html").on("click",function(e){ // メニューが展開している時のみ if($menuWrap.hasClass(c.openNm)){ var target = e.target; //メニュータップ時は処理しない if(j$(target).parents(c.menuWrap)[0]||target===j$(c.menuTrigger)[0]||j$(target).parents(c.menuTrigger)[0]||j$(target).parents(c.closeBtn)[0]) { return; } menuClose(); } else { return; } }); }; /** * @method accordion02 */ j$.accordion02 = function(){ var $elm = j$(".toggleWrap02"), $trg = j$(".toggleTrigger02"), target = j$(".toggleContent02"), speed = 300, openNm = "open"; if($elm.length === 0){ return false; } // setting j$(target).not("." + openNm).hide(); // trigger $trg.on("click",function(){ var self = j$(this); if(self.hasClass(openNm)){ self.removeClass(openNm); self.next(target).stop().slideUp(speed); } else { self.addClass(openNm); self.next(target).stop().slideDown(speed); EPOS_CARD.module.equalHeight(true, true); EPOS_CARD.module.sizeFix(); } }); }; /* * タブ切り替え */ j$.downloadTab = function(config){ var u = new EPOS_CARD.Util(); var c = j$.extend({ tabName: ".downloadContents", tablist: ".downloadList", boxName: ".downloadDetailBox", openClass : "active", escapeClass : "noTabLink" },config); var $elm = j$(c.tabName); if($elm.length === 0){ return false; } $elm.each(function(){ var $this = j$(this), $list = j$(c.tablist, $this), $box = j$(c.boxName, $this); // 初期表示 $box.hide(); $list.on('click', 'li', function() { if(j$(this).is('.' + c.escapeClass)) { return false; } if(j$(this).hasClass(c.openClass)) { $list.children().removeClass(c.openClass); $box.hide(); } else { var href = j$("a", this).attr("href"); $list.children().removeClass(c.openClass); j$(this).addClass(c.openClass); $box.hide(); j$(href).fadeIn(); EPOS_CARD.module.equalHeight(); return false; } }); }); }; /* * @method floatingControlHasCookie * - フローティングCV制御 */ j$.floatingControlHasCookie = function(){ // vars var u = new EPOS_CARD.Util(); var $pageContainer = j$("#pageContainer, body#freshers"), // 社会人ページは既存コンテンツのため $elm = j$('[id*="floatingWrap"]'), closeNm = "floatingNone", $close = j$(".floatingClose"), $toggleElm = j$(".floating-toggle"); if($elm.length === 0){ return false; } // close if($close.length !== 0){ $close.on("click",function(){ if($elm.hasClass(closeNm)){ j$.cookie("floatingDisplay","hide", {path: "/room_id" }); } else { j$.cookie("floatingDisplay","show", {path: "/room_id" }); } }); } // load u.$win.on("load", function(){ if(j$.cookie("floatingDisplay") == "hide"){ $elm.addClass(closeNm); $toggleElm.hide(); } }); }; /** * アンカーリンク制御 */ $(function(){ var u = new EPOS_CARD.Util(); var url = j$(location).attr("href"), hash = location.hash, href, target, position, difference; /* trigger ------------------------------- */ /* ページ遷移+アンカー移動制御 */ $(window).load(function(){ if((url.indexOf("#anc") !== -1)){ target = $(hash); if($('.hasNav').length === 0){ position = target.offset().top; } else { difference = $('.hasNav').innerHeight(); position = target.offset().top - difference; } $("html, body").animate({ scrollTop: position }, 300,'swing'); if(u.isRangeSP && target.find(".toggleWrap")){ target.find(".toggleTrigger").addClass("open"); target.find(".toggleContent").stop().slideDown(300); EPOS_CARD.module.equalHeight(true, true); EPOS_CARD.module.sizeFix(); } } }); $('.residents a[href^=#]').click(function() { if($('.hasNav').hasClass('fixed')){ return false; }else{ var difference02 = $('.hasNav').innerHeight(); var href = $(this).attr("href"); var target = $(href); var position = target.offset().top - difference02*2 -75; $("html, body").animate({ scrollTop: position }, 300, 'swing'); } }); $('.owner a[href^=#]').click(function() { if($('.hasNav').hasClass('fixed')){ return false; }else{ var difference02 = $('.hasNav').innerHeight(); var href = $(this).attr("href"); var target = $(href); var position = target.offset().top - difference02*2 -75; $("html, body").animate({ scrollTop: position }, 300, 'swing'); } }); }); /** * @method balloon */ j$.balloon = function(config){ var c = $.extend({ elm: ".js-balloon_popup", target: ".js-balloon_contenet", openNm: "hover" }, config); var $elm = $(c.elm); var u = new EPOS_CARD.Util(); if($elm.length === 0){return false} // function if(u.isSmartphone() || u.isTablet()){ $elm.on('click', function() { var $target = $(this).find(c.target); if($target.hasClass(c.openNm)){ $target.removeClass(c.openNm); } else { $(c.target).removeClass(c.openNm); $target.addClass(c.openNm); } }); } else { $elm.hover(function(){ var $target = $(this).find(c.target); $target.addClass(c.openNm); }, function(){ var $target = $(this).find(c.target); $target.removeClass(c.openNm); }); } }; })(jQuery);