/** * addSlick v1.0 * 2019-2-18 * * 2019-11-01 * touchDisabled: trueでスライダーにタッチさせないようにレイヤーを重ねる */ ;(function($){ //'use strict'; (function(){ var name = 'addSlick'; var ua = window.navigator.userAgent.toLowerCase(); var transitionend = 'webkitTransitionEnd mozTransitionEnd oTransitionEnd transitionend'; var animationend = 'webkitAnimationEnd mozAnimationEnd oAnimationEnd animationend'; var hover1 = 'mouseenter mouseleave'; var hover2 = 'mouseover mouseout'; var click = 'click'; var resize = 'resize'; var scroll = 'scroll'; var mousemove = 'mousemove'; var mousewheel = 'onwheel' in document ? 'wheel' : 'onmousewheel' in document ? 'mousewheel' : 'DOMMouseScroll'; var touchstart = window.navigator.msPointerEnabled ? 'MSPointerDown' : 'ontouchstart' in window ? 'touchstart' : null; var touchmove = window.navigator.msPointerEnabled ? 'MSPointerMove' : 'ontouchend' in window ? 'touchmove' : null; var touchend = window.navigator.msPointerEnabled ? 'MSPointerUp' : 'ontouchend' in window ? 'touchend' : null; var touches = [touchstart, touchmove, touchend].join(' '); var load = 'load'; var error = 'error'; var identifier = 0; var s = {}; var c = {}; s.html = 'html'; s.body = 'body'; s.name = '.' + name; s.slider = '.' + 'slider'; s.sliderArrow = s.slider + '-arrow'; s.sliderDots = s.slider + '-dots'; s.sliderItems = s.slider + '-slide'; s.sliderIsTouchTrue = s.slider + '-isTouch-true'; s.sliderIsTouchFalse = s.slider + '-isTouch-false'; s.sliderTouchDisabled = s.slider + '-touchDisabled'; s.sliderArrowHide = s.slider + '-arrow-hide'; s.sliderDotsHide = s.slider + '-dots-hide'; s.slick = '.' + 'slick'; s.slickArrow = s.slick + '-arrow'; s.slickDots = s.slick + '-dots'; s.slickList = s.slick + '-list'; s.slickItems = s.slick + '-slide'; s.slickViewport = s.slick + '-viewport'; $.each(s, function(k, v){ if(v.match(/^\./)) c[k] = v.substr(1); }); var m = { init: function(option){ var d; if(!this.data(name)){ identifier++; d = { resizeDelay: 300, adjustArrow: false, touchDisabled: false//レイヤーを重ねてタッチを無効にする }; d.$target = this; d.selector = d.$target.selector; d.browser = f.getBrowserInfo(); d.namespace = name + '-' + identifier; d.slick = {option: option}; d.resizeDelay = d.slick.option.resizeDelay; d.adjustArrow = d.slick.option.adjustArrow; d.touchDisabled = d.slick.option.touchDisabled; /* d.$target.on('init', function(){ d.$list = d.$target.find(s.slickList); d.$list.wrap('
'); d.$viewport = d.$target.find(s.slickViewport); }); d.$target.on('reInit', function(){ }); */ d.$target.addClass([c.sliderArrowHide, c.sliderDotsHide, d.touchDisabled ? c.sliderTouchDisabled : ''].join(' ')).slick(d.slick.option); d.browser.isTouch ? d.$target.addClass(c.sliderIsTouchTrue) : d.$target.addClass(c.sliderIsTouchFalse); d.$arrow = d.$target.find(s.slickArrow).wrapInner('
'); d.$dots = d.$target.find(s.slickDots); setTimeout(function(){ d.$target.removeClass(c.sliderArrowHide); d.$dots.addClass('show'); }); /* d.$arrow.on('mouseenter mouseleave', function(e){ var $this = $(this); var isTouch = 'ontouchstart' in window; if(!isTouch){ if(e.type == 'mouseenter') $this.addClass('hover'); if(e.type == 'mouseleave') $this.removeClass('hover'); } }); */ d.$target.on('setPosition', function(e){ var $arrow = d.$target.find(s.slickArrow); //d.$list.wrap('
'); //d.$viewport = d.$target.find(s.slickViewport); if(!$arrow.length || !d.adjustArrow) return false; //var $slickImg = d.$target.find(s.slickItems).find('.slick-thumbnail'); setTimeout(function(){ var $slickImg = d.$target.find(s.slickItems).find('.slick-thumbnail'); $arrow.css({'top': $slickImg.outerHeight() / 2}); }, d.resizeDelay); }); this.data(name, d); } return d.$target; },//m.init() destroy: function(){ if(f.typeOf(this) == 'Object' && !this.length) return this; var $this = this; var d = $this.data(name); d.$window.off([d._window.load.event, d._window.resize.event, d._window.scroll.event].join(' ')); $this.children(s.targetChildren).children().unwrap(); d.wrap !== false ? $this.children().unwrap() : f.removeAttrs(d.$target.attr('style', ''), RegExp(c.name), ['class', 'style']); $this.removeData(name); return $this; }//m.destroy() };//m var f = { addNamespaceToEvents: function(events, namespace, timestamp){ var result = []; events = events.split(' '); if(timestamp != false) namespace += '-' + $.now(); $.each(events, function(i){ result.push(this + '.' + namespace); }); return result.join(' '); },//f.addNamespaceToEvents() removeAttrs: function($target, pattern, attrs){ $.each(attrs, function(i){ var attr = this; $target.each(function(i){ var $this = $(this); var thisAttr = $this.attr(attr); $.each(thisAttr ? thisAttr.split(' ') : [], function(i){ if(this.match(pattern)) $this.removeClass(this); }); thisAttr = $this.attr(attr); if(!thisAttr) $this.removeAttr(attr); }); }); },//f.removeAttrs() typeOf: function(target){ //Object, Array, Function, Error, Date, JSON, Math, RegExp, String, Number, Boolean, Undefined, Null return target === null ? 'Null' : Object.prototype.toString.call(target).slice(8, -1); },//f.typeOf() getBrowserInfo: function(){ //name: ie6, ie7, ie8, ie9, ie10, ie11, edge, opera_mini, opera, sleipnir, vivaldi, smooz, facebook, android_default_browser, chrome, firefox, safari var i,e,n=window.navigator.userAgent.toLowerCase(),d=window.navigator.appVersion.toLowerCase(),f={};return-1!=n.indexOf("msie")||-1!=n.indexOf("trident")?-1!=d.indexOf("msie 6")?e="ie6":-1!=d.indexOf("msie 7")?e="ie7":-1!=d.indexOf("msie 8")?e="ie8":-1!=d.indexOf("msie 9")?e="ie9":-1!=d.indexOf("msie 10")?e="ie10":-1!=n.indexOf("trident/7")&&(e="ie11"):-1!=n.indexOf("webkit")&&-1!=n.indexOf("edge")?e="edge":-1!=n.indexOf("opr")||-1!=n.indexOf("opera")||-1!=n.indexOf("opios")?e=-1!=n.indexOf("opera mini")?"opera_mini":"opera":-1!=n.indexOf("sleipnir")?e="sleipnir":-1!=n.indexOf("vivaldi")?e="vivaldi":-1!=n.indexOf("smooz")?e="smooz":-1!=n.indexOf("fbav")?e="facebook":-1!=n.indexOf("android")&&-1!=n.indexOf("webkit")&&-1!=n.indexOf("version")?e="android_default_browser":-1!=n.indexOf("chrome")||-1!=n.indexOf("crios")?e="chrome":-1!=n.indexOf("firefox")||-1!=n.indexOf("fxios")?e="firefox":-1!=n.indexOf("safari")&&(e="safari"),-1!=n.indexOf("windows")&&-1!=n.indexOf("phone")?i="windows_phone":-1!=n.indexOf("windows")?i="windows":-1!=n.indexOf("iphone")?i="iphone":-1!=n.indexOf("ipad")?i="ipad":-1!=n.indexOf("ipod")?i="ipod":-1!=n.indexOf("mac")?i="mac":-1!=n.indexOf("android")?i="android":-1!=n.indexOf("kindle")||-1!=n.indexOf("silk")?i="Kindle":-1==n.indexOf("blackberry")&&-1==n.indexOf("bb10")||(i="blackberry"),f.name=e,f.device=i,f.isMobilePhone=-1!=n.indexOf("windows")&&-1!=n.indexOf("phone")||-1!=n.indexOf("iphone")||-1!=n.indexOf("ipod")||-1!=n.indexOf("android")&&-1!=n.indexOf("mobile")||-1!=n.indexOf("firefox")&&-1!=n.indexOf("mobile")||-1!=n.indexOf("blackberry")||-1!=n.indexOf("bb10"),f.isTablet=-1!=n.indexOf("windows")&&-1!=n.indexOf("touch")||-1!=n.indexOf("ipad")||-1!=n.indexOf("android")&&-1==n.indexOf("mobile")||-1!=n.indexOf("firefox")&&-1!=n.indexOf("tablet")||-1!=n.indexOf("kindle")||-1!=n.indexOf("silk")||-1!=n.indexOf("playbook"),f.isPortable=f.isMobilePhone||f.isTablet,f.isTouch="ontouchstart"in window,f.isWebkit=-1!=n.indexOf("webkit"),f.ua=n,f.ver=d,f }//f.getBrowserInfo() };//f $.fn[name] = function(method){ if(m[method]){ return m[method].apply(this, Array.prototype.slice.call(arguments, 1)); }else if(typeof method === 'object' || !method){ return m.init.apply(this, arguments); } };//addSlick() }()); }(jQuery));