PageSourceSearch

https://www.ferveurlyonnaise.fr/wp-content/cache/min/1/wp-content/…/js/jquery.elastislide.js?ver=1789649064

js ferveurlyonnaise.fr collected 2026-10-04 02:40:59 UTC 7,406 bytes, 24 lines download raw bytes

1(function(window,$,undefined){$.fn.touchwipe=function(settings){var config={min_move_x:20,min_move_y:20,wipeLeft:function(){},wipeRight:function(){},wipeUp:function(){},wipeDown:function(){},preventDefaultEvents:!0};if(settings)$.extend(config,settings);this.each(function(){var startX;var startY;var isMoving=!1;function cancelTouch(){this.removeEventListener('touchmove',onTouchMove);startX=null;isMoving=!1}
2function onTouchMove(e){if(config.preventDefaultEvents){e.preventDefault()}
3if(isMoving){var x=e.touches[0].pageX;var y=e.touches[0].pageY;var dx=startX-x;var dy=startY-y;if(Math.abs(dx)>=config.min_move_x){cancelTouch();if(dx>0){config.wipeLeft()}else{config.wipeRight()}}else if(Math.abs(dy)>=config.min_move_y){cancelTouch();if(dy>0){config.wipeDown()}else{config.wipeUp()}}}}
4function onTouchStart(e){if(e.touches.length==1){startX=e.touches[0].pageX;startY=e.touches[0].pageY;isMoving=!0;this.addEventListener('touchmove',onTouchMove,!1)}}
5if('ontouchstart' in document.documentElement){this.addEventListener('touchstart',onTouchStart,!1)}});return this};$.elastislide=function(options,element){this.$el=$(element);this._init(options)};$.elastislide.defaults={speed:450,easing:'',imageW:190,margin:0,border:0,minItems:1,current:0,onClick:function(){return!1}};$.elastislide.prototype={_init:function(options){this.options=$.extend(!0,{},$.elastislide.defaults,options);this.$slider=this.$el.find('ul');this.$items=this.$slider.children('li');this.itemsCount=this.$items.length;this.$esCarousel=this.$slider.parent();this._validateOptions();this._configure();this._addControls();this._initEvents();this.$slider.show();this._slideToCurrent(!1)},_validateOptions:function(){if(this.options.speed<0)
6this.options.speed=450;if(this.options.margin<0)
7this.options.margin=4;if(this.options.border<0)
8this.options.border=1;if(this.options.minItems<1||this.options.minItems>this.itemsCount)
9this.options.minItems=1;if(this.options.current>this.itemsCount-1)
10this.options.current=0},_configure:function(){this.current=this.options.current;this.visibleWidth=this.$esCarousel.width();if(this.visibleWidth<this.options.minItems*(this.options.imageW+2*this.options.border)+(this.options.minItems-1)*this.options.margin){this._setDim((this.visibleWidth-(this.options.minItems-1)*this.options.margin)/this.options.minItems);this._setCurrentValues();this.fitCount=this.options.minItems}else{this._setDim();this._setCurrentValues()}
11this.$slider.css({width:this.sliderW})},_setDim:function(elW){this.$items.css({marginRight:this.options.margin,width:(elW)?elW:this.options.imageW+2*this.options.border}).children('a').css({borderWidth:this.options.border})},_setCurrentValues:function(){this.itemW=this.$items.outerWidth(!0);this.sliderW=this.itemW*this.itemsCount;this.visibleWidth=this.$esCarousel.width();this.fitCount=Math.floor(this.visibleWidth/this.itemW)},_addControls:function(){this.$navNext=$('<span class="es-nav-next"><a>&gt;</a></span>');this.$navPrev=$('<span class="es-nav-prev"><a>&lt;</a></span>');$('<div class="es-nav"/>').append(this.$navPrev).append(this.$navNext).appendTo(this.$el)},_toggleControls:function(dir,status){if(dir&&status){if(status===1)(dir==='right')?this.$navNext.show():this.$navPrev.show();else(dir==='right')?this.$navNext.hide():this.$navPrev.hide()}else if(this.current===this.itemsCount-1||this.fitCount>=this.itemsCount)
12this.$navNext.hide()},_initEvents:function(){var instance=this;$(window).bind('resize.elastislide',function(event){instance._setCurrentValues();if(instance.visibleWidth<instance.options.minItems*(instance.options.imageW+2*instance.options.border)+(instance.options.minItems-1)*instance.options.margin){instance._setDim((instance.visibleWidth-(instance.options.minItems-1)*instance.options.margin)/instance.options.minItems);instance._setCurrentValues();instance.fitCount=instance.options.minItems}else{instance._setDim();instance._setCurrentValues()}
13instance.$slider.css({width:instance.sliderW+10});clearTimeout(instance.resetTimeout);instance.resetTimeout=setTimeout(function(){instance._slideToCurrent()},200)});this.$navNext.bind('click.elastislide',function(event){instance._slide('right')});this.$navPrev.bind('click.elastislide',function(event){instance._slide('left')});this.$items.bind('click.elastislide',function(event){instance.options.onClick($(this))});instance.$slider.touchwipe({wipeLeft:function(){instance._slide('right')},wipeRight:function(){instance._slide('left')}})},_slide:function(dir,val,anim,callback){if(this.$slider.is(':animated'))
14return!1;var ml=parseFloat(this.$slider.css('margin-left'));if(val===undefined){var amount=this.fitCount*this.itemW,val;if(amount<0)return!1;if(dir==='right'&&this.sliderW-(Math.abs(ml)+amount)<this.visibleWidth){amount=this.sliderW-(Math.abs(ml)+this.visibleWidth)-this.options.margin;this._toggleControls('right',-1);this._toggleControls('left',1)}else if(dir==='left'&&Math.abs(ml)-amount<0){amount=Math.abs(ml);this._toggleControls('left',-1);this._toggleControls('right',1)}else{var fml;(dir==='right')?fml=Math.abs(ml)+this.options.margin+Math.abs(amount):fml=Math.abs(ml)-this.options.margin-Math.abs(amount);if(fml>0)
15this._toggleControls('left',1);else this._toggleControls('left',-1);if(fml<this.sliderW-this.visibleWidth)
16this._toggleControls('right',1);else this._toggleControls('right',-1)}(dir==='right')?val='-='+amount:val='+='+amount}else{var fml=Math.abs(val);if(Math.max(this.sliderW,this.visibleWidth)-fml<this.visibleWidth){val=-(Math.max(this.sliderW,this.visibleWidth)-this.visibleWidth);if(val!==0)
17val+=this.options.margin;this._toggleControls('right',-1);fml=Math.abs(val)}
18if(fml>0)
19this._toggleControls('left',1);else this._toggleControls('left',-1);
19if(Math.max(this.sliderW,this.visibleWidth)-this.visibleWidth>fml+this.options.margin)
20this._toggleControls('right',1);else this._toggleControls('right',-1)}
21$.fn.applyStyle=(anim===undefined)?$.fn.animate:$.fn.css;var sliderCSS={marginLeft:val};var instance=this;this.$slider.applyStyle(sliderCSS,$.extend(!0,[],{duration:this.options.speed,easing:this.options.easing,complete:function(){if(callback)callback.call()}}))},_slideToCurrent:function(anim){var amount=this.current*this.itemW;this._slide('',-amount,anim)},add:function($newelems,callback){this.$items=this.$items.add($newelems);this.itemsCount=this.$items.length;this._setDim();this._setCurrentValues();this.$slider.css({width:this.sliderW});this._slideToCurrent();if(callback)callback.call($newelems)},destroy:function(callback){this._destroy(callback)},_destroy:function(callback){this.$el.unbind('.elastislide').removeData('elastislide');$(window).unbind('.elastislide');if(callback)callback.call()}};var logError=function(message){if(this.console){console.error(message)}};$.fn.elastislide=function(options){if(typeof options==='string'){var args=Array.prototype.slice.call(arguments,1);this.each(function(){var instance=$.data(this,'elastislide');if(!instance){logError("cannot call methods on elastislide prior to initialization; "+"attempted to call method '"+options+"'");return}
22if(!$.isFunction(instance[options])||options.charAt(0)==="_"){logError("no such method '"+options+"' for elastislide instance");return}
23instance[options].apply(instance,args)})}else{this.each(function(){var instance=$.data(this,'elastislide');if(!instance){$.data(this,'elastislide',new $.elastislide(options,this))}})}
24return this}})(window,jQuery)

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.