1(function ( $ ) { 2 $.fn.cimSliderAccessible = function( options ) { 3 4 var settings = $.extend({ 5 // These are the defaults. 6 retour : false, 7 tempsTransition : 1000, 8 affichePlayPause : false, 9 lectureAutomatique : false, 10 tempsAttente : 6000, 11 icones : {"play":'fileadmin/templates/img/img_slide/play_slider.png',"pause":'fileadmin/templates/img/img_slide/pause_slider.png'}, 12 currentPosition : 0, 13 images : [], 14 contentHtml : [], 15 numberOfslides : 1, 16 type_transition : "slide", 17 typeNavigation : 'arrows', 18 idArrow : "principal", 19 bullet : [], 20 customFondNavigation : 0, 21 alignNavigation : 1, 22 slideWidth : 0, 23 startIndex : 0, 24 blockContentHeight: "200", 25 nbVignetteSlide:1 26 }, options ); 27 28 $(window).bind('resize', methodToFixLayout); 29 30 var div = this; 31 settings.numberOfslides = div.find("ul > li.slide_"+settings.idArrow).length //fix nb slide 32 var lectureEnCours = false; 33 var z_index_arrow = 0; 34 var opacity_slide = 1 35 36 37 if(settings.slideWidth == 0){ 38 var slideWidth = this.width() + 1; 39 var slideWidthMargin = this.width() + 1; 40 }else{ 41 //Display more than 1 slide 42 var slideWidth = settings.slideWidth; 43 44 } 45 46 47 // console.log(settings.idArrow+"id slider "+slideWidth) 48 var nbImageAdd = 0; //Toujours 1 image en place 49 this.css('overflow', 'hidden'); 50 var interval; 51 if(settings.type_transition == 'fade'){ 52 slideHeigth = $("#slideshow_"+settings.idArrow+" li").height(); 53 //console.log(slideHeigth); 54 div.find("ul").children().wrapAll('<div id="slideInner_'+settings.idArrow+'" class="slide_full_container"></div>') 55 div.find('#slideInner_'+settings.idArrow+' > li.slide_'+settings.idArrow).css({'position':'absolute'}); 56 div.find('#slideInner_'+settings.idArrow).css({"height":slideHeigth}); 57 58 for(i=0;i<settings.numberOfslides;i++){ 59 // console.log(settings.startIndex+settings.numberOfslides-i); 60 // console.log($('#slideInner_'+settings.idArrow+' > li.slide_'+settings.idArrow)[i]); 61 // console.log('#slideInner_'+settings.idArrow+' > li.slide_'+settings.idArrow) 62 $($('#slideInner_'+settings.idArrow+' > li.slide_'+settings.idArrow)[i]).css({'z-index':settings.startIndex+settings.numberOfslides-i,"opacity":opacity_slide}) 63 opacity_slide = 0 64 } 65 z_index_arrow = settings.startIndex+settings.numberOfslides+1 66 }else{ 67 div.find("ul > li.slide_"+settings.idArrow).wrapAll('<div id="slideInner_'+settings.idArrow+'" class="slide_full_container"></div>').css({ 68 'float' : 'left', 69 'width' : slideWidth 70 }); 71 72 if(settings.slideWidth != 0){ 73 var slideWidthMargin = ($(div.find("li.slide_"+settings.idArrow)[settings.currentPosition]).outerWidth()+parseInt($(div.find(" li.slide_"+settings.idArrow)[settings.currentPosition]).css("marginRight"))+parseInt($(div.find(" li.slide_"+settings.idArrow)[settings.currentPosition]).css("marginLeft"))) 74 } 75 76 77 $('#slideInner_'+settings.idArrow+'').css('width', slideWidthMargin * settings.numberOfslides); 78 } 79 80 81 82 83 function manageControls(position){ 84 85 // Cache la fleche précédent si on est sur le premier slide 86 if(position==0){ 87 // console.log(position+" position courante a l'appel1") 88 $('#left_control_'+settings.idArrow).hide() 89 } else{ 90 // console.log(position+" position courante a l'appel2") 91 $('#left_control_'+settings.idArrow).show() 92 } 93 // Cache la fleche suivant si on est sur le dernier slide (et que le retour automatique n'est pas activé) 94 if( (position==settings.numberOfslides-1 && settings.retour== false) ||( div.width() >= slideWidth*(settings.numberOfslides-(settings.currentPosition)) && settings.retour== false)){ 95 // console.log(position+" position courante a l'appel4") 96 $('#right_control_'+settings.idArrow).hide(); 97 } else { 98 $('#right_control_'+settings.idArrow).show(); 99 } 100 if(position == settings.numberOfslides && settings.retour == true){ 101 // console.log(position+" position courante a l'appel4") 102 settings.currentPosition = 0; 103 $('#left_control_'+settings.idArrow).hide(); 104 } 105 } 106 107 108 switch(settings.typeNavigation){ 109 case 'bullets' : 110 createBulletControl(); 111 break; 112 case 'arrows' : 113 114 div.prepend('<span class="control_'+settings.idArrow+'" id="left_control_'+settings.idArrow+'"></span>') 115 .append('<span class="control_'+settings.idArrow+'" id="right_control_'+settings.idArrow+'"></span>'); 116 117 if(z_index_arrow > 0){ 118 $(".control_"+settings.idArrow).css({'z-index':z_index_arrow}) 119 } 120 121 div.find('.control_'+settings.idArrow).bind('click', function(){ 122 123 // Ancienne position 124 lastPosition = settings.currentPosition; 125 126 // Determine la nouvelle position 127 settings.currentPosition = ($(this).attr('id')=='right_control_'+settings.idArrow) ? lastPosition+1 : lastPosition-1; 128 // console.log(settings.numberOfslides) 129 if(settings.currentPosition == settings.numberOfslides && settings.retour == false ){ 130 settings.currentPosition--; 131 pause(); 132 } 133 134 manageControls(settings.currentPosition); 135 136 //type_transition 137 switch(settings.type_transition){ 138 case 'slide': 139 // Fais bouger le slide 140 // console.log("ca bouge"); 141 transValue = ($($("#slideInner_"+settings.idArrow+" li")[settings.currentPosition]).outerWidth()+parseInt($($("#slideInner_"+settings.idArrow+" li")[settings.currentPosition]).css("marginRight"))+parseInt($($("#slideInner_"+settings.idArrow+" li")[settings.currentPosition]).css("marginLeft")))*settings.nbVignetteSlide; 142 console.log(settings.nbVignetteSlide); 143 //Cas particulier 144 if(settings.currentPosition == 0 & lastPosition == settings.numberOfslides-1 & settings.retour){ 145 146 //Mise a jour de la taille du slider 147 div.find('#slideInner_'+settings.idArrow+'').css('width', slideWidth * (settings.numberOfslides+1)); 148 149 //On clone lapremiere div et on la place en dernier 150 $($("#slideInner_"+settings.idArrow+" li")[0]).clone().appendTo("#slideInner_"+settings.idArrow) 151 152 153 div.find("#slideInner_"+settings.idArrow+"").animate({ 154 'marginLeft' : transValue*(-settings.numberOfslides) 155 },settings.tempsTransition,function(){ 156 $("#slideInner_"+settings.idArrow+"").css({"margin":"0"}); 157 $("#slideInner_"+settings.idArrow+" li").last().remove(); 158 div.find('#slideInner_'+settings.idArrow+'').css('width', slideWidth * (settings.numberOfslides)); 159 });
160 161 162 // }else if(lastPosition== 0 & settings.currentPosition == settings.numberOfslides-1){ 163 // console.log("loop slide last") 164 }else{ 165 // console.log("NbVignette : "+settings.nbVignetteSlide) 166 div.find("#slideInner_"+settings.idArrow+"").animate({ 167 'marginLeft' : transValue*(-settings.currentPosition-(settings.nbVignetteSlide-1)) 168 },settings.tempsTransition); 169 } 170 break; 171 172 case 'fade': 173 // console.log("ca fade") 174 jQslide = jQuery('> li', $('#slideInner_'+settings.idArrow)); 175 176 // console.log(jQslide) 177 // console.log('#slideInner_'+settings.idArrow) 178 if(settings.currentPosition != lastPosition){ 179 jQslide.eq(settings.currentPosition).stop().animate({opacity: 1.0}, settings.tempsTransition); 180 181 jQslide.eq(settings.currentPosition).css('display', 'block'); 182 183 jQslide.eq(lastPosition).stop().animate({opacity: 0.0}, settings.tempsTransition,function(){jQuery(this).hide()}); 184 } 185 186 187 break; 188 } 189 190 }); 191 192 break; 193 case 'arrows-bullet': 194 createBulletControl(); 195 div.prepend('<span class="control_'+settings.idArrow+'" id="left_control_'+settings.idArrow+'"></span>') 196 .append('<span class="control_'+settings.idArrow+'" id="right_control_'+settings.idArrow+'"></span>'); 197 198 if(z_index_arrow > 0){ 199 $(".control_"+settings.idArrow).css({'z-index':z_index_arrow}) 200 } 201 202 div.find('.control_'+settings.idArrow).bind('click', function(){ 203 204 // Ancienne position 205 lastPosition = settings.currentPosition; 206 207 // Determine la nouvelle position 208 settings.currentPosition = ($(this).attr('id')=='right_control_'+settings.idArrow) ? lastPosition+1 : lastPosition-1; 209 // console.log(settings.numberOfslides) 210 if(settings.currentPosition == settings.numberOfslides && settings.retour == false ){ 211 settings.currentPosition--; 212 pause(); 213 } 214 215 manageControls(settings.currentPosition); 216 217 //type_transition 218 switch(settings.type_transition){ 219 case 'slide': 220 // Fais bouger le slide 221 // console.log("ca bouge"); 222 transValue = ($($("#slideInner_"+settings.idArrow+" li")[settings.currentPosition]).outerWidth()+parseInt($($("#slideInner_"+settings.idArrow+" li")[settings.currentPosition]).css("marginRight"))+parseInt($($("#slideInner_"+settings.idArrow+" li")[settings.currentPosition]).css("marginLeft")))*settings.nbVignetteSlide; 223 console.log(settings.nbVignetteSlide); 224 //Cas particulier 225 if(settings.currentPosition == 0 & lastPosition == settings.numberOfslides-1 & settings.retour){ 226 227 //Mise a jour de la taille du slider 228 div.find('#slideInner_'+settings.idArrow+'').css('width', slideWidth * (settings.numberOfslides+1)); 229 230 //On clone lapremiere div et on la place en dernier 231 $($("#slideInner_"+settings.idArrow+" li")[0]).clone().appendTo("#slideInner_"+settings.idArrow) 232 233 234 div.find("#slideInner_"+settings.idArrow+"").animate({ 235 'marginLeft' : transValue*(-settings.numberOfslides) 236 },settings.tempsTransition,function(){ 237 $("#slideInner_"+settings.idArrow+"").css({"margin":"0"}); 238 $("#slideInner_"+settings.idArrow+" li").last().remove(); 239 div.find('#slideInner_'+settings.idArrow+'').css('width', slideWidth * (settings.numberOfslides)); 240 }); 241 242 243 // }else if(lastPosition== 0 & settings.currentPosition == settings.numberOfslides-1){ 244 // console.log("loop slide last") 245 }else{ 246 // console.log("NbVignette : "+settings.nbVignetteSlide) 247 div.find("#slideInner_"+settings.idArrow+"").animate({ 248 'marginLeft' : transValue*(-settings.currentPosition-(settings.nbVignetteSlide-1)) 249 },settings.tempsTransition); 250 } 251 break; 252 253 case 'fade': 254 // console.log("ca fade") 255 jQslide = jQuery('> li', $('#slideInner_'+settings.idArrow)); 256 257 // console.log(jQslide) 258 // console.log('#slideInner_'+settings.idArrow) 259 260 jQslide.eq(settings.currentPosition).animate({opacity: 1.0}, settings.tempsTransition); 261 jQslide.eq(settings.currentPosition).css('display', 'block'); 262 jQslide.eq(lastPosition).animate({opacity: 0.0}, settings.tempsTransition,function(){jQuery(this).hide()}); 263 // jQslide.eq(lastPosition).css('display', 'none'); 264 265 break; 266 } 267 268 });
269 break; 270 } 271 manageControls(settings.currentPosition); 272 273 274 //mise en place du chargement des images 275 //dans l'order c'est mieux 276 277 278 if(settings.images.length > 0){ 279 orderImageLoading(0) 280 } 281 function orderImageLoading(nbImg){ 282 var image = new Image(); 283 // image.src = settings.images[nbImg] 284 // console.log(image) 285 $(image).bind("load",function(){ 286 287 addImageToSlider(this); 288 if(nbImageAdd < settings.images.length){ 289 orderImageLoading(nbImageAdd); 290 } 291 }).attr('src',settings.images[nbImg]); 292 } 293 294 /* 295 $.each(settings.images, function (){ 296 // function loadImage(orderImage){ 297 var image = new Image(); 298 image.src = this.toString(); 299 console.log(image) 300 301 $(image).load(function(){ 302 303 addImageToSlider(this) 304 }) 305 // } 306 }) 307 */ 308 309 if(settings.lectureAutomatique == true){ 310 start(); 311 } 312 if(settings.affichePlayPause == true){ 313 div.prepend('<img id="navDiapo_actu" src="" alt="Navigation actualités" />'); 314 if(settings.lectureAutomatique == true){ 315 $('#navDiapo_actu').attr('src',settings.icones['pause']); 316 }else{ 317 $('#navDiapo_actu').attr('src',settings.icones['play']); 318 } 319 $('#navDiapo_actu').bind('click', function(){ 320 if(lectureEnCours == true){ 321 $(this).attr('src',icones['play']); 322 pause(); 323 }else{ 324 $(this).attr('src',icones['pause']); 325 start(); 326 } 327 }); 328 } 329 330 331 332 //declaration des fonction utile du plugin 333 //Chargement différeré des images 334 function addImageToSlider(image){ 335 //console.log($(image).data()); 336 content = ""; 337 if(settings.contentHtml.length > 0) { 338 if(settings.contentHtml[nbImageAdd] != "") content = settings.contentHtml[nbImageAdd] 339 } 340 341 // L'ajout d'image pour le fade doit etre différent 342 if(settings.type_transition == 'fade'){ 343 // on met a jour les z-index des images pour s'assusrer que l'image charger ne va pas ecaser l'existante 344 i = 0 345 div.find('#slideInner_'+settings.idArrow+' li').each(function(){ 346 $(this).css({"z-index":settings.startIndex+settings.numberOfslides-i}) 347 i++; 348 }) 349 // console.log('#slideInner_'+settings.idArrow+'') 350 div.find('#slideInner_'+settings.idArrow+'').append("<li class='slide_"+settings.idArrow+"' style='position:absolute;z-index:"+settings.startIndex+"'>"+image.outerHTML+content+"</li>") 351 }else{ 352 div.find('#slideInner_'+settings.idArrow+'').append("<li class='slide_"+settings.idArrow+"' style='float: left; width: "+slideWidth+"px;'>"+image.outerHTML+content+"</li>") 353 div.find('#slideInner_'+settings.idArrow+'').css('width', slideWidth * (settings.numberOfslides+1)); 354 // console.log("Ajout image, nouvelle largeur : "+slideWidth * (settings.numberOfslides+1)) 355 } 356 357 nbImageAdd++ 358 settings.numberOfslides++ 359 // console.log("nb slider image"+settings.numberOfslides) 360 if(settings.typeNavigation == "bullets" || settings.typeNavigation == "arrows-bullet" ){ 361 createBulletControl(); 362 } 363 manageControls(settings.currentPosition) 364 // start(); 365 } 366 367 function methodToFixLayout( e ) { 368 slideWidth = $('#slideshow_'+settings.idArrow).width(); 369 manageControls(settings.currentPosition); 370 $('#slideInner_'+settings.idArrow+'').css('width', slideWidth * settings.numberOfSlides); 371 $('#slideInner_'+settings.idArrow+' li').css('width', slideWidth); 372 $('slideInner_'+settings.idArrow+'').css('marginLeft', slideWidth*(-settings.currentPosition)); 373 } 374 375 376 function alignNavigationButtons(){ 377 if(settings.alignNavigation == '1') $('#slider_'+settings.idArrow+'_navigation').addClass('left'); 378 if(settings.alignNavigation == '2') $('#slider_'+settings.idArrow+'_navigation').addClass('center'); 379 if(settings.alignNavigation == '3') $('#slider_'+settings.idArrow+'_navigation').addClass('right'); 380 } 381 382 function suivant(){ 383 if(settings.numberOfslides > 1){ 384 switch(settings.typeNavigation){ 385 case 'bullets' : 386 lastPosition = settings.currentPosition; 387 settings.currentPosition = ((settings.currentPosition+1)%settings.numberOfslides); 388 389 $("a.control_"+settings.idArrow).removeClass("slider_"+settings.idArrow+"_active"); 390 $($("a.control_"+settings.idArrow)[settings.currentPosition]).addClass("slider_"+settings.idArrow+"_active"); 391 392 switch(settings.type_transition){ 393 394 case 'slide': 395 396 div.find("#slidesContainer_"+settings.idArrow).children().animate({ 397 398 'marginLeft' : slideWidth*(-settings.currentPosition) 399 400 },settings.tempsTransition); 401 402 break; 403 404 case 'fade': 405 406 jQslide = jQuery('> li', $('#slideInner_'+settings.idArrow)); 407 408 jQslide.eq(settings.currentPosition).animate({opacity: 1.0}, settings.tempsTransition); 409 410 jQslide.eq(settings.currentPosition).css('display', 'block'); 411 412 jQslide.eq(lastPosition).animate({opacity: 0.0}, settings.tempsTransition,function(){jQuery(this).hide()}); 413 414 break; 415 416 } 417 418 break; 419 case 'arrows' : 420 $('#right_control_'+settings.idArrow).click(); 421 break; 422 } 423 } 424 } 425 426 function start() { 427 lectureEnCours = true; 428 interval = setInterval(suivant, settings.tempsAttente ); 429 } 430 431 function pause() { 432 lectureEnCours = false; 433 clearInterval(interval); 434 } 435 436 437 function createBulletControl(){ 438 if(settings.numberOfslides > 1){ 439 liContent = ''; 440 for(i=0;i<settings.numberOfslides;i++){ 441 liContent += "<li ><a id='control_"+settings.idArrow+"_"+(i+1)+"' class='control_"+settings.idArrow+(i == 0 ? " slider_"+settings.idArrow+"_active" : "")+"'> </a></li>"; 442 } 443 if(settings.customFondNavigation == 0){ 444 if($('#slider_'+settings.idArrow+'_navigation').length == 0){ 445 div.append('<div id="slider_'+settings.idArrow+'_navigation" class="slider_nav"><ul>'+liContent+'</ul></div>'); 446 }else{ 447 $('#slider_'+settings.idArrow+'_navigation ul').html(liContent); 448 } 449 450 }else{ 451 if($('#slider_'+settings.idArrow+'_navigation').length == 0){ 452 div.append('<div id="slider_'+settings.idArrow+'_navigation" class="slider_nav"><div class="slider_navigation_g"></div><div class="slider_navigation_c"><ul>'+liContent+'</ul></div><div class="slider_navigation_d"></div></div></div>'); 453 }else{ 454 $('#slider_'+settings.idArrow+'_navigation ul').html(liContent); 455 } 456 } 457 458 alignNavigationButtons(); 459 460 //Crée un écouteur d'évènement de type clic sur les classes .control 461 $('.control_'+settings.idArrow) 462 .bind('click', function(){ 463 clearInterval(interval); 464 lastPosition = settings.currentPosition; 465 settings.currentPosition = $(this).parent().index(); 466 $("a.slider_"+settings.idArrow+"_active").removeClass("slider_"+settings.idArrow+"_active"); 467 $(this).addClass("slider_"+settings.idArrow+"_active"); 468 // console.log("ca bouge") 469 // Fais bouger le slide 470 switch(settings.type_transition){ 471 case 'slide': 472 div.find("#slidesContainer_"+settings.idArrow).children().animate({ 473 'marginLeft' : slideWidth*(-settings.currentPosition) 474 },settings.tempsTransition); 475 break; 476 case 'fade': 477 jQslide = jQuery('> li', $('#slideInner_'+settings.idArrow)); 478 jQslide.eq(settings.currentPosition).animate({opacity: 1.0}, settings.tempsTransition); 479 jQslide.eq(settings.currentPosition).css('display', 'block'); 480 jQslide.eq(lastPosition).animate({opacity: 0.0}, settings.tempsTransition,function(){jQuery(this).hide()}); 481 break; 482 } 483 }); 484 } 485 } 486 487 function createArrowControl(){ 488 489 } 490 491 this.manageControlUpdate = function(){ 492 manageControls(0); 493 } 494 495 this.suivant = function(){ 496 suivant(); 497 } 498 499 var slider = this; 500 var initTouch = function(){ 501 // initialize object to contain all touch values 502 slider.touch = { 503 start: {x: 0, y: 0}, 504 end: {x: 0, y: 0} 505 } 506 slider.bind('touchstart', onTouchStart); 507 } 508 509 /** 510 * Event handler for "touchstart" 511 * 512 * @param e (event) 513 * - DOM event object 514 */ 515 var onTouchStart = function(e){
516 if(slider.working){ 517 e.preventDefault(); 518 }else{ 519 // record the original position when touch starts 520 slider.touch.originalPos = div.position(); 521 var orig = e.originalEvent; 522 // record the starting touch x, y coordinates 523 slider.touch.start.x = orig.changedTouches[0].pageX; 524 slider.touch.start.y = orig.changedTouches[0].pageY; 525 // bind a "touchmove" event to the viewport 526 slider.bind('touchmove', onTouchMove); 527 // bind a "touchend" event to the viewport 528 slider.bind('touchend', onTouchEnd); 529 } 530 } 531 532 /** 533 * Event handler for "touchmove" 534 * 535 * @param e (event) 536 * - DOM event object 537 */ 538 var onTouchMove = function(e){ 539 var orig = e.originalEvent; 540 // if scrolling on y axis, do not prevent default 541 var xMovement = Math.abs(orig.changedTouches[0].pageX - slider.touch.start.x); 542 var yMovement = Math.abs(orig.changedTouches[0].pageY - slider.touch.start.y); 543 // x axis swipe 544 if((xMovement * 3) > yMovement ){ 545 e.preventDefault(); 546 // y axis swipe 547 }else if((yMovement * 3) > xMovement){ 548 e.preventDefault(); 549 } 550 if(settings.type_transition != 'fade'){ 551 var value = 0; 552 // if horizontal, drag along x axis 553 if(settings.type_transition == 'slide'){ 554 var change = orig.changedTouches[0].pageX - slider.touch.start.x; 555 // console.log(slider.touch.originalPos.left + change) 556 // if((slider.touch.originalPos.left + change) < 0 ){ 557 // suivant(); 558 // } 559 // suivant() 560 // 561 value = slider.touch.originalPos.left + change; 562 // if vertical, drag along y axis 563 }else{ 564 // var change = orig.changedTouches[0].pageY - slider.touch.start.y; 565 // value = slider.touch.originalPos.top + change; 566 } 567 // setPositionProperty(value, 'reset', 0); 568 } 569 } 570 571 /** 572 * Event handler for "touchend" 573 * 574 * @param e (event) 575 * - DOM event object 576 */ 577 var onTouchEnd = function(e){ 578 slider.unbind('touchmove', onTouchMove); 579 var orig = e.originalEvent; 580 var value = 0; 581 // record end x, y positions 582 slider.touch.end.x = orig.changedTouches[0].pageX; 583 slider.touch.end.y = orig.changedTouches[0].pageY; 584 // if fade mode, check if absolute x distance clears the threshold 585 if(settings.type_transition == 'fade'){ 586 // var distance = Math.abs(slider.touch.start.x - slider.touch.end.x); 587 // if(distance >= slider.settings.swipeThreshold){ 588 // slider.touch.start.x > slider.touch.end.x ? el.goToNextSlide() : el.goToPrevSlide(); 589 // el.stopAuto(); 590 // } 591 // not fade mode 592 }else{ 593 suivant() 594 // var distance = 0; 595 // calculate distance and el's animate property 596 // if(settings.type_transition == 'horizontal'){ 597 // distance = slider.touch.end.x - slider.touch.start.x; 598 // value = slider.touch.originalPos.left; 599 // }else{ 600 // distance = slider.touch.end.y - slider.touch.start.y; 601 // value = slider.touch.originalPos.top; 602 // } 603 // if not infinite loop and first / last slide, do not attempt a slide transition 604 // if(!settings.loop && ((slider.active.index == 0 && distance > 0) || (slider.active.last && distance < 0))){ 605 // setPositionProperty(value, 'reset', 200); 606 // }else{ 607 // check if distance clears threshold 608 // if(Math.abs(distance) >= slider.settings.swipeThreshold){ 609 // distance < 0 ? el.goToNextSlide() : el.goToPrevSlide(); 610 // el.stopAuto(); 611 // }else{ 612 // el.animate(property, 200); 613 // setPositionProperty(value, 'reset', 200); 614 // } 615 // } 616 } 617 slider.unbind('touchend', onTouchEnd); 618 } 619 620 621 if (settings.touchEnabled && (settings.type_transition == 'slide' && settings.typeNavigation == 'arrows') ) initTouch(); 622 623 return this; 624 625 }; 626}( 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.