/* -------------------------------------- default.js --------------------------------------- - floating-menu (right) - smartRollover: jQuery - dropdown - sldr - accordion - imgChange - TEL link - heightLine.js --------------------------------------- */ /* ---------------------------------------- floating-menu (right) http://blog.livedoor.jp/kamikaze_cyclone/archives/19186302.html ---------------------------------------- */ $(document).ready( function() { var menu = $('div#floatNav'); var offset = menu.offset().top; var position = 150; // 固定する画面での座標位置(ピクセルで指定) var coodinates = menu.css('top'); // CSSのtopに指定した値を保存 var origPos = menu.css('position'); // CSSのpositionの値を一時的に保存 // 初期時にスクロールしなくても調整する floatingMenu(); //スクロール時のイベント処理 $(window).scroll(function(){ floatingMenu(); }); function floatingMenu(){ var scrollAmount = $(window).scrollTop(); var newPosition = offset + scrollAmount; // CSSの設定を変更してメニューを固定化する if(scrollAmount > offset - position){ menu.css('position', 'fixed') menu.css('top', position + "px") }else{ // 固定化したメニューを最初の状態に戻している menu.css('position', origPos) menu.css('top', coodinates) } } }); /* ---------------------------------------- smartRollover: jQuery https://www.nxworld.net/tips/button-mouseover-event.html ---------------------------------------- */ $(function() { $('.nav a img, #product .catalog a img, #catalog .catalogs a img, .hoverImg a img').hover( function() { $(this).attr('src', $(this).attr('src').replace('_off', '_on')); }, function() { if (!$(this).hasClass('current')) { $(this).attr('src', $(this).attr('src').replace('_on', '_off')); } } ); }); /* ---------------------------------------- dropdown ---------------------------------------- */ $(function() { $('#menu > li').hover(function() { $(this).children('ul').stop(true, true).slideDown(); }, function() { $(this).children('ul').stop(true, true).slideUp(); }); }); /* ---------------------------------------- sldr ---------------------------------------- */ $(function() { $('#sldr-prev, #sldr-next').hide(); $(window).on('load', function() { $('#sldr-prev, #sldr-next').show(); var sldr = $('#sldr-main ul'); var sldrMp = sldr.children('li').outerWidth(true); var sldrLen = sldr.children('li').length; sldr.css({ left: -sldrMp, width: sldrMp * sldrLen }).children('li:last-child').prependTo(sldr); $('#sldr-prev a').click(function() { sldr.animate({ left: 0 }, function() { $(this).css({ left: -sldrMp }).children('li:last-child').prependTo(sldr); }); return false; }); $('#sldr-next a').click(function() { sldr.animate({ left: -sldrMp * 2 }, function() { $(this).css({ left: -sldrMp }).children('li:first-child').appendTo(sldr); }); return false; }); }); }); /* ---------------------------------------- accordion ---------------------------------------- */ $(function() { $('.accordionBtn').next('ul').hide(); $('a.accordionBtn').click(function(e){ if($(this).next('ul').is(':visible')) { $(this).next('ul').slideUp(); $(this).parent('li').removeClass('stay'); } else { $(this).next('ul').slideDown(); $(this).parent('li').addClass('stay'); } return false; }); }); /* ---------------------------------------- imgChange ---------------------------------------- */ $(function(){ imgChange() $(window).resize(function() { imgChange() }); function imgChange (){ var wid = $(window).width(); if( wid < 640 ){ $('.imgChange').each(function(){ $(this).attr("src",$(this).attr("src").replace('_pc', '_sp')); }); } else { $('.imgChange').each(function(){ $(this).attr("src",$(this).attr("src").replace('_sp', '_pc')); }); } } }); /* ---------------------------------------- TEL link ---------------------------------------- */ // スマートフォン端末の場合、電話番号から電話をかけられるように対応 $(function(){ var ua = navigator.userAgent; if(ua.indexOf('iPhone') > 0 || ua.indexOf('Android') > 0){ $('.tel-link').each(function(){ var str = $(this).text(); $(this).html($('').attr('href', 'tel:' + str.replace(/-/g, '')).append(str + '')); }); } }); // スマートフォン端末以外の場合には telリンククリック時のイベントを無効化 $(function(){ var ua = navigator.userAgent.toLowerCase(); var isMobile = /iphone/.test(ua)||/android(.+)?mobile/.test(ua); if (!isMobile) { $('a[href^="tel:"]').on('click', function(e) { e.preventDefault(); }); } }); /* ---------------------------------------- heightLine.js ---------------------------------------- */ /*--------------------------------------------------------------------------* * * heightLine JavaScript Library beta4 * * MIT-style license. * * 2007 Kazuma Nishihata * http://www.webcreativepark.net * *--------------------------------------------------------------------------*/ new function(){ function heightLine(){ this.className="heightLine"; this.parentClassName="heightLineParent" reg = new RegExp(this.className+"-([a-zA-Z0-9-_]+)", "i"); objCN =new Array(); var objAll = document.getElementsByTagName ? document.getElementsByTagName("*") : document.all; for(var i = 0; i < objAll.length; i++) { var eltClass = objAll[i].className.split(/\s+/); for(var j = 0; j < eltClass.length; j++) { if(eltClass[j] == this.className) { if(!objCN["main CN"]) objCN["main CN"] = new Array(); objCN["main CN"].push(objAll[i]); break; }else if(eltClass[j] == this.parentClassName){ if(!objCN["parent CN"]) objCN["parent CN"] = new Array(); objCN["parent CN"].push(objAll[i]); break; }else if(eltClass[j].match(reg)){ var OCN = eltClass[j].match(reg) if(!objCN[OCN]) objCN[OCN]=new Array(); objCN[OCN].push(objAll[i]); break; } } } //check font size var e = document.createElement("div"); var s = document.createTextNode("S"); e.appendChild(s); e.style.visibility="hidden" e.style.position="absolute" e.style.top="0" document.body.appendChild(e); var defHeight = e.offsetHeight; changeBoxSize = function(){ for(var key in objCN){ if (objCN.hasOwnProperty(key)) { //parent type if(key == "parent CN"){ for(var i=0 ; iCCN[j].offsetHeight?max_height:CCN[j].offsetHeight; } } for(var j=0 ; jobjCN[key][i].offsetHeight?max_height:objCN[key][i].offsetHeight; } for(var i=0 ; i