vendor: 38,161 bytes, lines 1-834
1(function ($, undefined) { 2 'use strict'; 3 var defaults = { 4 item: 4, 5 autoWidth: false, 6 slideMove: 1, 7 slideMargin: 0, 8 addClass: '', 9 mode: 'slide', 10 useCSS: true, 11 cssEasing: 'ease', //'cubic-bezier(0.25, 0, 0.25, 1)', 12 easing: 'linear', //'for jquery animation',// 13 speed: 400, //ms' 14 auto: false, 15 pauseOnHover: true, 16 loop: true, 17 slideEndAnimation: true, 18 pause: 2000, 19 keyPress: false, 20 controls: true, 21 prevHtml: '', 22 nextHtml: '', 23 rtl: false, 24 adaptiveHeight: false, 25 vertical: false, 26 verticalHeight: 500, 27 vThumbWidth: 100, 28 thumbItem: 10, 29 pager: true, 30 gallery: false, 31 galleryMargin: 0, 32 thumbMargin: 5, 33 currentPagerPosition: 'middle', 34 enableTouch: true, 35 enableDrag: true, 36 freeMove: true, 37 swipeThreshold: 40, 38 responsive: [], 39 /* jshint ignore:start */ 40 onBeforeStart: function ($el) {}, 41 onSliderLoad: function ($el) {}, 42 onBeforeSlide: function ($el, scene) {}, 43 onAfterSlide: function ($el, scene) {}, 44 onBeforeNextSlide: function ($el, scene) {}, 45 onBeforePrevSlide: function ($el, scene) {} 46 /* jshint ignore:end */ 47 }; 48 $.fn.evoSlider = function (options) { 49 if (this.length === 0) { 50 return this; 51 } 52 53 if (this.length > 1) { 54 this.each(function () { 55 $(this).evoSlider(options); 56 }); 57 return this; 58 } 59 60 var OBJ = $(this); 61 62 var plugin = {}, 63 settings = $.extend(true, {}, defaults, options), 64 settingsTemp = {}, 65 $el = this, 66 $evosliderbox = $el.closest('.evosliderbox '), 67 $sliderFooter = $evosliderbox.find('.evosl_footer'); 68 plugin.$el = this; 69 70 if (settings.mode === 'fade') { 71 settings.vertical = false; 72 } 73 var $children = $el.children(), 74 windowW = $(window).width(), 75 breakpoint = null, 76 resposiveObj = null, 77 length = 0, 78 w = 0, 79 on = false, 80 elSize = 0, 81 $slide = '', 82 scene = 0, 83 property = (settings.vertical === true) ? 'height' : 'width', 84 gutter = (settings.vertical === true) ? 'margin-bottom' : 'margin-right', 85 slideValue = 0, 86 pagerWidth = 0, 87 slideWidth = 0, 88 thumbWidth = 0, 89 interval = null, 90 sliderW = OBJ.parent().width(), 91 isTouch = ('ontouchstart' in document.documentElement); 92 var refresh = {}; 93 94 refresh.chbreakpoint = function () { 95 windowW = $(window).width(); 96 sliderW = OBJ.parent().width(); 97 98 windowW = sliderW; 99 100 if (settings.responsive.length) { 101 var item; 102 if (settings.autoWidth === false) { 103 item = settings.item; 104 } 105 if (windowW < settings.responsive[0].breakpoint) { 106 for (var i = 0; i < settings.responsive.length; i++) { 107 if (windowW < settings.responsive[i].breakpoint) { 108 breakpoint = settings.responsive[i].breakpoint; 109 resposiveObj = settings.responsive[i]; 110 } 111 } 112 } 113 if (typeof resposiveObj !== 'undefined' && resposiveObj !== null) { 114 for (var j in resposiveObj.settings) { 115 if (resposiveObj.settings.hasOwnProperty(j)) { 116 if (typeof settingsTemp[j] === 'undefined' || settingsTemp[j] === null) { 117 settingsTemp[j] = settings[j]; 118 } 119 settings[j] = resposiveObj.settings[j]; 120 } 121 } 122 } 123 if (!$.isEmptyObject(settingsTemp) && windowW > settings.responsive[0].breakpoint) { 124 for (var k in settingsTemp) { 125 if (settingsTemp.hasOwnProperty(k)) { 126 settings[k] = settingsTemp[k]; 127 } 128 } 129 } 130 if (settings.autoWidth === false) { 131 if (slideValue > 0 && slideWidth > 0) { 132 if (item !== settings.item) { 133 scene = Math.round(slideValue / ((slideWidth + settings.slideMargin) * settings.slideMove)); 134 } 135 } 136 } 137 } 138 }; 139 140 refresh.calSW = function () { 141 if (settings.autoWidth === false) { 142 slideWidth = (elSize - ((settings.item * (settings.slideMargin)) - settings.slideMargin)) / settings.item; 143 } 144 }; 145 146 refresh.calWidth = function (cln) { 147 var ln = cln === true ? $slide.find('.evoglide').length : $children.length; 148 if (settings.autoWidth === false) { 149 w = ln * (slideWidth + settings.slideMargin); 150 } else { 151 w = 0; 152 for (var i = 0; i < ln; i++) { 153 w += (parseInt($children.eq(i).width()) + settings.slideMargin); 154 } 155 } 156 return w; 157 }; 158 plugin = { 159 doCss: function () { 160 var support = function () { 161 var transition = ['transition', 'MozTransition', 'WebkitTransition', 'OTransition', 'msTransition', 'KhtmlTransition']; 162 var root = document.documentElement; 163 for (var i = 0; i < transition.length; i++) { 164 if (transition[i] in root.style) { 165 return true; 166 } 167 } 168 }; 169 if (settings.useCSS && support()) { 170 return true; 171 } 172 return false; 173 }, 174 keyPress: function () { 175 if (settings.keyPress) { 176 $(document).on('keyup.evoslider', function (e) { 177 if (!$(':focus').is('input, textarea')) { 178 if (e.preventDefault) { 179 e.preventDefault(); 180 } else { 181 e.returnValue = false; 182 } 183 if (e.keyCode === 37) { 184 $el.goToPrevSlide(); 185 } else if (e.keyCode === 39) { 186 $el.goToNextSlide(); 187 } 188 } 189 }); 190 } 191 }, 192 controls: function () { 193 if (settings.controls) { 194 // prev next arrows for vertical vs non 195 if(settings.vertical){ 196 $el.after('<div class="evoAction"><a class="evoPrev">' + settings.prevHtml + '</a><a class="evoNext">' + settings.nextHtml + '</a></div>'); 197 }else{ 198 $evosliderbox.find('.evosl_footer').append('<div class="evoAction"><a class="evoPrev">' + settings.prevHtml + '</a><a class="evoNext">' + settings.nextHtml + '</a></div>'); 199 } 200 if (!settings.autoWidth) { 201 if (length <= settings.item) { 202 $evosliderbox.find('.evoAction').hide(); 203 } 204 } else { 205 if (refresh.calWidth(false) < elSize) { 206 $evosliderbox.find('.evoAction').hide(); 207 } 208 } 209 210 //$el = $evosliderbox.find('.eventon_events_list'); 211 212 $evosliderbox.find('.evoAction a').on('click', function (e) { 213 if (e.preventDefault) { 214 e.preventDefault(); 215 } else { 216 e.returnValue = false; 217 } 218 if ($(this).attr('class') === 'evoPrev') { 219 $el.goToPrevSlide(); 220 } else { 221 //console.log('55'); 222 $el.goToNextSlide(); 223 } 224 return false; 225 }); 226 } 227 }, 228 initialStyle: function () { 229 var $this = this; 230 if (settings.mode === 'fade') { 231 settings.autoWidth = false; 232 settings.slideEndAnimation = false; 233 } 234 if (settings.auto) { 235 settings.slideEndAnimation = false; 236 } 237 if (settings.autoWidth) { 238 settings.slideMove = 1; 239 settings.item = 1; 240 } 241 if (settings.loop) { 242 settings.slideMove = 1; 243 settings.freeMove = false; 244 } 245 settings.onBeforeStart.call(this, $el); 246 refresh.chbreakpoint(); 247 $el.addClass('evoSlider').wrap('<div class="evoSlideOuter ' + settings.addClass + '"><div class="evoSlideWrapper"></div></div>'); 248 $slide = $el.parent('.evoSlideWrapper'); 249 if (settings.rtl === true) { 250 $slide.parent().addClass('evortl'); 251 } 252 if (settings.vertical) { 253 $slide.parent().addClass('vertical'); 254 elSize = settings.verticalHeight; 255 $slide.css('height', elSize + 'px'); 256 } else { 257 elSize = $el.outerWidth(); 258 } 259 $children.addClass('evoglide'); 260 if (settings.loop === true && settings.mode === 'slide') { 261 refresh.calSW(); 262 refresh.clone = function () { 263 if (refresh.calWidth(true) > elSize) { 264 /**/ 265 var tWr = 0, 266 tI = 0; 267 for (var k = 0; k < $children.length; k++) { 268 tWr += (parseInt($el.find('.evoglide').eq(k).width()) + settings.slideMargin); 269 tI++; 270 if (tWr >= (elSize + settings.slideMargin)) { 271 break; 272 } 273 } 274 var tItem = settings.autoWidth === true ? tI : settings.item; 275 276 /**/ 277 if (tItem < $el.find('.clone.left').length) { 278 for (var i = 0; i < $el.find('.clone.left').length - tItem; i++) { 279 $children.eq(i).remove(); 280 } 281 } 282 if (tItem < $el.find('.clone.right').length) { 283 for (var j = $children.length - 1; j > ($children.length - 1 - $el.find('.clone.right').length); j--) { 284 scene--; 285 $children.eq(j).remove(); 286 } 287 } 288 /**/ 289 for (var n = $el.find('.clone.right').length; n < tItem; n++) { 290 $el.find('.evoglide').eq(n).clone().removeClass('evoglide').addClass('clone right').appendTo($el); 291 scene++; 292 } 293 for (var m = $el.find('.evoglide').length - $el.find('.clone.left').length; m > ($el.find('.evoglide').length - tItem); m--) { 294 $el.find('.evoglide').eq(m - 1).clone().removeClass('evoglide').addClass('clone left').prependTo($el); 295 } 296 $children = $el.children(); 297 } else { 298 if ($children.hasClass('clone')) { 299 $el.find('.clone').remove(); 300 $this.move($el, 0); 301 } 302 } 303 }; 304 refresh.clone(); 305 } 306 refresh.sSW = function () { 307 length = $children.length; 308 if (settings.rtl === true && settings.vertical === false) { 309 gutter = 'margin-left'; 310 } 311 if (settings.autoWidth === false) { 312 $children.css(property, slideWidth + 'px'); 313 } 314 $children.css(gutter, settings.slideMargin + 'px'); 315 w = refresh.calWidth(false); 316 $el.css(property, w + 'px'); 317 if (settings.loop === true && settings.mode === 'slide') { 318 if (on === false) { 319 scene = $el.find('.clone.left').length; 320 } 321 } 322 }; 323 refresh.calL = function () { 324 $children = $el.children(); 325 length = $children.length; 326 }; 327 if (this.doCss()) { 328 $slide.addClass('usingCss'); 329 } 330 refresh.calL(); 331 if (settings.mode === 'slide') { 332 refresh.calSW(); 333 refresh.sSW(); 334 if (settings.loop === true) { 335 slideValue = $this.slideValue(); 336 this.move($el, slideValue); 337 } 338 if (settings.vertical === false) { 339 this.setHeight($el, false); 340 } 341 342 } else { 343 this.setHeight($el, true); 344 $el.addClass('evoFade'); 345 if (!this.doCss()) { 346 $children.fadeOut(0); 347 $children.eq(scene).fadeIn(0); 348 } 349 } 350 if (settings.loop === true && settings.mode === 'slide') { 351 $children.eq(scene).addClass('active'); 352 } else { 353 $children.first().addClass('active'); 354 } 355 }, 356 pager: function () { 357 if (settings.controls) { 358 var $this = this; 359 refresh.createPager = function () { 360 thumbWidth = (elSize - ((settings.thumbItem * (settings.thumbMargin)) - settings.thumbMargin)) / settings.thumbItem; 361 var $children = $slide.find('.evoglide'); 362 var length = $slide.find('.evoglide').length; 363 var i = 0, 364 pagers = '', 365 v = 0; 366 for (i = 0; i < length; i++) { 367 if (settings.mode === 'slide') { 368 // calculate scene * slide value 369 if (!settings.autoWidth) { 370 v = i * ((slideWidth + settings.slideMargin) * settings.slideMove); 371 } else { 372 v += ((parseInt($children.eq(i).width()) + settings.slideMargin) * settings.slideMove); 373 } 374 } 375 var thumb = $children.eq(i * settings.slideMove).attr('data-thumb'); 376 if (settings.gallery === true) { 377 pagers += '<li style="width:100%;' + property + ':' + thumbWidth + 'px;' + gutter + ':' + settings.thumbMargin + 'px"><a href="#"><img src="' + thumb + '" /></a></li>'; 378 } else { 379 pagers += '<li><a href="#">' + (i + 1) + '</a></li>'; 380 } 381 if (settings.mode === 'slide') { 382 if ((v) >= w - elSize - settings.slideMargin) { 383 i = i + 1; 384 var minPgr = 2; 385 if (settings.autoWidth) { 386 pagers += '<li><a href="#">' + (i + 1) + '</a></li>'; 387 minPgr = 1; 388 } 389 if (i < minPgr) { 390 pagers = null; 391 $slide.parent().addClass('noPager'); 392 } else { 393 $slide.parent().removeClass('noPager'); 394 } 395 break; 396 } 397 } 398 } 399 var $cSouter = $slide.parent(); 400 $sliderFooter.find('.evoPager').html(pagers); 401 if (settings.gallery === true) { 402 if (settings.vertical === true) { 403 // set Gallery thumbnail width 404 $sliderFooter.find('.evoPager').css('width', settings.vThumbWidth + 'px'); 405 } 406 pagerWidth = (i * (settings.thumbMargin + thumbWidth)) + 0.5; 407 $sliderFooter.find('.evoPager').css({ 408 property: pagerWidth + 'px', 409 'transition-duration': settings.speed + 'ms' 410 }); 411 if (settings.vertical === true) { 412 $slide.parent().css('padding-right', (settings.vThumbWidth + settings.galleryMargin) + 'px'); 413 } 414 $sliderFooter.find('.evoPager').css(property, pagerWidth + 'px'); 415 } 416 var $pager = $sliderFooter.find('.evoPager').find('li'); 417 $pager.first().addClass('active'); 418 $pager.on('click', function () { 419 420 if (settings.loop === true && settings.mode === 'slide') { 421 scene = scene + ($pager.index(this) - $sliderFooter.find('.evoPager').find('li.active').index()); 422 } else { 423 scene = $pager.index(this); 424 } 425 $el.mode(false); 426 if (settings.gallery === true) { 427 $this.slideThumb(); 428 } 429 430 //$sliderFooter.find('.evoPager').find('li').removeClass('active'); 431 //$sliderFooter.find('.evoPager').find('li').eq(scene).addClass('active'); 432 433 return false; 434 }); 435 }; 436 if (settings.pager) { 437 var cl = 'evopg'; 438 if (settings.gallery) { 439 cl = 'evoGallery'; 440 } 441 $sliderFooter.append('<ul class="evoPager ' + cl + '"></ul>'); 442 var gMargin = (settings.vertical) ? 'margin-left' : 'margin-top'; 443 $sliderFooter.find('.evoPager').css(gMargin, settings.galleryMargin + 'px'); 444 refresh.createPager(); 445 } 446 447 setTimeout(function () { 448 refresh.init(); 449 }, 0); 450 } 451 }, 452 setHeight: function (ob, fade) { 453 var obj = null, 454 $this = this; 455 if (settings.loop) { 456 obj = ob.children('.evoglide ').first(); 457 } else { 458 obj = ob.children().first(); 459 } 460 var setCss = function () { 461 var tH = obj.outerHeight(), 462 tP = 0, 463 tHT = tH; 464 if (fade) { 465 tH = 0; 466 tP = ((tHT) * 100) / elSize; 467 } 468 ob.css({ 469 'height': tH + 'px', 470 'padding-bottom': tP + '%' 471 }); 472 }; 473 setCss(); 474 if (obj.find('img').length) { 475 if ( obj.find('img')[0].complete) { 476 setCss(); 477 if (!interval) { 478 $this.auto(); 479 } 480 }else{ 481 obj.find('img').load(function () { 482 setTimeout(function () { 483 setCss(); 484 if (!interval) { 485 $this.auto(); 486 } 487 }, 100); 488 }); 489 } 490 }else{ 491 if (!interval) { 492 $this.auto(); 493 } 494 } 495 }, 496 active: function (ob, t) { 497 //console.log(ob); 498 if (this.doCss() && settings.mode === 'fade') { 499 $slide.addClass('on'); 500 } 501 var sc = 0; 502 if (scene * settings.slideMove < length) { 503 ob.removeClass('active'); 504 if (!this.doCss() && settings.mode === 'fade' && t === false) { 505 ob.fadeOut(settings.speed); 506 } 507 if (t === true) { 508 sc = scene; 509 } else { 510 sc = scene * settings.slideMove; 511 } 512 //t === true ? sc = scene : sc = scene * settings.slideMove; 513 var l, nl; 514 if (t === true) { 515 l = ob.length; 516 nl = l - 1; 517 if (sc + 1 >= l) { 518 sc = nl; 519 } 520 } 521 if (settings.loop === true && settings.mode === 'slide') { 522 //t === true ? sc = scene - $el.find('.clone.left').length : sc = scene * settings.slideMove; 523 if (t === true) { 524 sc = scene - $el.find('.clone.left').length; 525 } else { 526 sc = scene * settings.slideMove; 527 } 528 if (t === true) { 529 l = ob.length; 530 nl = l - 1; 531 if (sc + 1 === l) { 532 sc = nl; 533 } else if (sc + 1 > l) { 534 sc = 0; 535 } 536 } 537 } 538 539 if (!this.doCss() && settings.mode === 'fade' && t === false) { 540 ob.eq(sc).fadeIn(settings.speed); 541 } 542 ob.eq(sc).addClass('active'); 543 } else { 544 ob.removeClass('active'); 545 ob.eq(ob.length - 1).addClass('active'); 546 if (!this.doCss() && settings.mode === 'fade' && t === false) { 547 ob.fadeOut(settings.speed); 548 ob.eq(sc).fadeIn(settings.speed); 549 } 550 } 551 }, 552 move: function (ob, v) { 553 if (settings.rtl === true) { 554 v = -v; 555 } 556 if (this.doCss()) { 557 if (settings.vertical === true) { 558 ob.css({ 559 'transform': 'translate3d(0px, ' + (-v) + 'px, 0px)', 560 '-webkit-transform': 'translate3d(0px, ' + (-v) + 'px, 0px)' 561 }); 562 } else { 563 ob.css({ 564 'transform': 'translate3d(' + (-v) + 'px, 0px, 0px)', 565 '-webkit-transform': 'translate3d(' + (-v) + 'px, 0px, 0px)', 566 }); 567 } 568 } else { 569 if (settings.vertical === true) { 570 ob.css('position', 'relative').animate({ 571 top: -v + 'px' 572 }, settings.speed, settings.easing); 573 } else { 574 ob.css('position', 'relative').animate({ 575 left: -v + 'px' 576 }, settings.speed, settings.easing); 577 } 578 } 579 var $thumb = $sliderFooter.find('.evoPager').find('li'); 580 this.active($thumb, true); 581 }, 582 fade: function () { 583 this.active($children, false); 584 var $thumb = $sliderFooter.find('.evoPager').find('li'); 585 this.active($thumb, true); 586 }, 587 slide: function () { 588 var $this = this; 589 refresh.caevoglide = function () { 590 if (w > elSize) { 591 slideValue = $this.slideValue(); 592 $this.active($children, false); 593 if ((slideValue) > w - elSize - settings.slideMargin) { 594 slideValue = w - elSize - settings.slideMargin; 595 } else if (slideValue < 0) { 596 slideValue = 0; 597 } 598 $this.move($el, slideValue); 599 if (settings.loop === true && settings.mode === 'slide') { 600 if (scene >= (length - ($el.find('.clone.left').length / settings.slideMove))) { 601 $this.resetSlide($el.find('.clone.left').length); 602 } 603 if (scene === 0) { 604 $this.resetSlide($slide.find('.evoglide').length); 605 } 606 } 607 } 608 }; 609 refresh.caevoglide(); 610 }, 611 resetSlide: function (s) { 612 var $this = this; 613 $sliderFooter.find('.evoAction a').addClass('disabled'); 614 setTimeout(function () { 615 scene = s; 616 $slide.css('transition-duration', '0ms'); 617 slideValue = $this.slideValue(); 618 $this.active($children, false); 619 plugin.move($el, slideValue); 620 setTimeout(function () { 621 $slide.css('transition-duration', settings.speed + 'ms'); 622 $sliderFooter.find('.evoAction a').removeClass('disabled'); 623 }, 50); 624 }, settings.speed + 100); 625 }, 626 slideValue: function () { 627 var _sV = 0; 628 if (settings.autoWidth === false) { 629 _sV = scene * ((slideWidth + settings.slideMargin) * settings.slideMove); 630 } else { 631 _sV = 0; 632 for (var i = 0; i < scene; i++) { 633 _sV += (parseInt($children.eq(i).width()) + settings.slideMargin); 634 } 635 } 636 return _sV; 637 }, 638 slideThumb: function () { 639 var position; 640 switch (settings.currentPagerPosition) { 641 case 'left': 642 position = 0; 643 break; 644 case 'middle': 645 position = (elSize / 2) - (thumbWidth / 2); 646 break; 647 case 'right': 648 position = elSize - thumbWidth; 649 } 650 var sc = scene - $el.find('.clone.left').length; 651 //var $pager = $slide.parent().find('.evoPager'); 652 var $pager = $sliderFooter.find('.evoPager'); 653 if (settings.mode === 'slide' && settings.loop === true) { 654 if (sc >= $pager.children().length) { 655 sc = 0; 656 } else if (sc < 0) { 657 sc = $pager.children().length; 658 } 659 } 660 var thumbSlide = sc * ((thumbWidth + settings.thumbMargin)) - (position); 661 if ((thumbSlide + elSize) > pagerWidth) { 662 thumbSlide = pagerWidth - elSize - settings.thumbMargin; 663 } 664 if (thumbSlide < 0) { 665 thumbSlide = 0; 666 } 667 this.move($pager, thumbSlide); 668 }, 669 auto: function () { 670 if (settings.auto) { 671 clearInterval(interval); 672 interval = setInterval(function () { 673 $el.goToNextSlide(); 674 }, settings.pause); 675 } 676 }, 677 pauseOnHover: function(){ 678 var $this = this; 679 if (settings.auto && settings.pauseOnHover) { 680 $slide.on('mouseenter', function(){ 681 $(this).addClass('evo-hover'); 682 $el.pause(); 683 settings.auto = true; 684 }); 685 $slide.on('mouseleave',function(){ 686 $(this).removeClass('evo-hover'); 687 if (!$slide.find('.evoSlider').hasClass('evoGrabbing')) { 688 $this.auto(); 689 } 690 }); 691 } 692 }, 693 touchMove: function (endCoords, startCoords) { 694 $slide.css('transition-duration', '0ms'); 695 if (settings.mode === 'slide') { 696 var distance = endCoords - startCoords; 697 var swipeVal = slideValue - distance; 698 if ((swipeVal) >= w - elSize - settings.slideMargin) { 699 if (settings.freeMove === false) { 700 swipeVal = w - elSize - settings.slideMargin; 701 } else { 702 var swipeValT = w - elSize - settings.slideMargin; 703 swipeVal = swipeValT + ((swipeVal - swipeValT) / 5); 704 705 } 706 } else if (swipeVal < 0) { 707 if (settings.freeMove === false) { 708 swipeVal = 0; 709 } else { 710 swipeVal = swipeVal / 5; 711 } 712 } 713 this.move($el, swipeVal); 714 } 715 }, 716 717 touchEnd: function (distance) { 718 $slide.css('transition-duration', settings.speed + 'ms'); 719 if (settings.mode === 'slide') { 720 var mxVal = false; 721 var _next = true; 722 slideValue = slideValue - distance; 723 if ((slideValue) > w - elSize - settings.slideMargin) { 724 slideValue = w - elSize - settings.slideMargin; 725 if (settings.autoWidth === false) { 726 mxVal = true; 727 } 728 } else if (slideValue < 0) { 729 slideValue = 0; 730 } 731 var gC = function (next) { 732 var ad = 0; 733 if (!mxVal) { 734 if (next) { 735 ad = 1; 736 } 737 } 738 if (!settings.autoWidth) { 739 var num = slideValue / ((slideWidth + settings.slideMargin) * settings.slideMove); 740 scene = parseInt(num) + ad; 741 if (slideValue >= (w - elSize - settings.slideMargin)) { 742 if (num % 1 !== 0) { 743 scene++; 744 } 745 } 746 } else { 747 var tW = 0; 748 for (var i = 0; i < $children.length; i++) { 749 tW += (parseInt($children.eq(i).width()) + settings.slideMargin); 750 scene = i + ad; 751 if (tW >= slideValue) { 752 break; 753 } 754 } 755 } 756 }; 757 if (distance >= settings.swipeThreshold) { 758 gC(false); 759 _next = false; 760 } else if (distance <= -settings.swipeThreshold) { 761 gC(true); 762 _next = false; 763 } 764 $el.mode(_next); 765 this.slideThumb(); 766 } else { 767 if (distance >= settings.swipeThreshold) { 768 $el.goToPrevSlide(); 769 } else if (distance <= -settings.swipeThreshold) { 770 $el.goToNextSlide(); 771 } 772 } 773 }, 774 775 enableDrag: function () { 776 var $this = this; 777 if (!isTouch) { 778 var startCoords = 0, 779 endCoords = 0, 780 isDraging = false; 781 $slide.find('.evoSlider').addClass('evoGrab'); 782 $slide.on('mousedown', function (e) { 783 if (w < elSize) { 784 if (w !== 0) { 785 return false; 786 } 787 } 788 if ($(e.target).attr('class') !== ('evoPrev') && $(e.target).attr('class') !== ('evoNext')) { 789 startCoords = (settings.vertical === true) ? e.pageY : e.pageX; 790 isDraging = true; 791 if (e.preventDefault) { 792 e.preventDefault(); 793 } else { 794 e.returnValue = false; 795 } 796 // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=26723 797 $slide.scrollLeft += 1; 798 $slide.scrollLeft -= 1; 799 // * 800 $slide.find('.evoSlider').removeClass('evoGrab').addClass('evoGrabbing'); 801 clearInterval(interval); 802 } 803 }); 804 $(window).on('mousemove', function (e) { 805 if (isDraging) { 806 endCoords = (settings.vertical === true) ? e.pageY : e.pageX; 807 $this.touchMove(endCoords, startCoords); 808 } 809 }); 810 $(window).on('mouseup', function (e) { 811 if (isDraging) { 812 $slide.find('.evoSlider').removeClass('evoGrabbing').addClass('evoGrab'); 813 isDraging = false; 814 endCoords = (settings.vertical === true) ? e.pageY : e.pageX; 815 var distance = endCoords - startCoords; 816 if (Math.abs(distance) >= settings.swipeThreshold) { 817 $(window).on('click.evo', function (e) { 818 if (e.preventDefault) { 819 e.preventDefault(); 820 } else { 821 e.returnValue = false; 822 } 823 e.stopImmediatePropagation(); 824 e.stopPropagation(); 825 $(window).off('click.evo'); 826 }); 827 } 828 829 $this.touchEnd(distance); 830 831 } 832 }); 833 } 834 },
vendor: 2,918 bytes, lines 834-901
834 835 836 enableTouch: function () { 837 var $this = this; 838 if (isTouch) { 839 var startCoords = {}, 840 endCoords = {}; 841 $slide.on('touchstart', function (e) { 842 endCoords = e.originalEvent.targetTouches[0]; 843 startCoords.pageX = e.originalEvent.targetTouches[0].pageX; 844 startCoords.pageY = e.originalEvent.targetTouches[0].pageY; 845 clearInterval(interval); 846 }); 847 $slide.on('touchmove', function (e) { 848 if (w < elSize) { 849 if (w !== 0) { 850 return false; 851 } 852 } 853 var orig = e.originalEvent; 854 endCoords = orig.targetTouches[0]; 855 var xMovement = Math.abs(endCoords.pageX - startCoords.pageX); 856 var yMovement = Math.abs(endCoords.pageY - startCoords.pageY); 857 if (settings.vertical === true) { 858 if ((yMovement * 3) > xMovement) { 859 e.preventDefault(); 860 } 861 $this.touchMove(endCoords.pageY, startCoords.pageY); 862 } else { 863 if ((xMovement * 3) > yMovement) { 864 e.preventDefault(); 865 } 866 $this.touchMove(endCoords.pageX, startCoords.pageX); 867 } 868 869 }); 870 $slide.on('touchend', function () { 871 if (w < elSize) { 872 if (w !== 0) { 873 return false; 874 } 875 } 876 var distance; 877 if (settings.vertical === true) { 878 distance = endCoords.pageY - startCoords.pageY; 879 } else { 880 distance = endCoords.pageX - startCoords.pageX; 881 } 882 $this.touchEnd(distance); 883 }); 884 } 885 }, 886 build: function () { 887 var $this = this; 888 $this.initialStyle(); 889 if (this.doCss()) { 890 891 if (settings.enableTouch === true) { 892 $this.enableTouch(); 893 } 894 if (settings.enableDrag === true) { 895 $this.enableDrag(); 896 } 897 } 898 899 $(window).on('focus', function(){ 900 $this.auto(); 901 });
vendor: 9,893 bytes, lines 902-1163
902 903 $(window).on('blur', function(){ 904 clearInterval(interval); 905 }); 906 907 $this.pager(); 908 $this.pauseOnHover(); 909 $this.controls(); 910 $this.keyPress(); 911 } 912 }; 913 plugin.build(); 914 refresh.init = function () { 915 refresh.chbreakpoint(); 916 if (settings.vertical === true) { 917 if (settings.item > 1) { 918 elSize = settings.verticalHeight; 919 } else { 920 elSize = $children.outerHeight(); 921 } 922 $slide.css('height', elSize + 'px'); 923 } else { 924 elSize = $slide.outerWidth(); 925 } 926 if (settings.loop === true && settings.mode === 'slide') { 927 refresh.clone(); 928 } 929 refresh.calL(); 930 if (settings.mode === 'slide') { 931 $el.removeClass('evoSlide'); 932 } 933 if (settings.mode === 'slide') { 934 refresh.calSW(); 935 refresh.sSW(); 936 } 937 setTimeout(function () { 938 if (settings.mode === 'slide') { 939 $el.addClass('evoSlide'); 940 } 941 }, 1000); 942 if (settings.pager) { 943 refresh.createPager(); 944 } 945 if (settings.adaptiveHeight === true && settings.vertical === false) { 946 $el.css('height', $children.eq(scene).outerHeight(true)); 947 } 948 if (settings.adaptiveHeight === false) { 949 if (settings.mode === 'slide') { 950 if (settings.vertical === false) { 951 plugin.setHeight($el, false); 952 }else{ 953 plugin.auto(); 954 } 955 } else { 956 plugin.setHeight($el, true); 957 } 958 } 959 if (settings.gallery === true) { 960 plugin.slideThumb(); 961 } 962 if (settings.mode === 'slide') { 963 plugin.slide(); 964 } 965 if (settings.autoWidth === false) { 966 if ($children.length <= settings.item) { 967 $sliderFooter.find('.evoAction').hide(); 968 } else { 969 $sliderFooter.find('.evoAction').show(); 970 } 971 } else { 972 if ((refresh.calWidth(false) < elSize) && (w !== 0)) { 973 $sliderFooter.find('.evoAction').hide(); 974 } else { 975 $sliderFooter.find('.evoAction').show(); 976 } 977 } 978 }; 979 $el.goToPrevSlide = function () { 980 if (scene > 0) { 981 settings.onBeforePrevSlide.call(this, $el, scene); 982 scene--; 983 $el.mode(false); 984 if (settings.gallery === true) { 985 plugin.slideThumb(); 986 } 987 } else { 988 if (settings.loop === true) { 989 settings.onBeforePrevSlide.call(this, $el, scene); 990 if (settings.mode === 'fade') { 991 var l = (length - 1); 992 scene = parseInt(l / settings.slideMove); 993 } 994 $el.mode(false); 995 if (settings.gallery === true) { 996 plugin.slideThumb(); 997 } 998 } else if (settings.slideEndAnimation === true) { 999 $el.addClass('leftEnd'); 1000 setTimeout(function () { 1001 $el.removeClass('leftEnd'); 1002 }, 400); 1003 } 1004 } 1005 }; 1006 $el.goToNextSlide = function () { 1007 var nextI = true; 1008 if (settings.mode === 'slide') { 1009 var _slideValue = plugin.slideValue(); 1010 nextI = _slideValue < w - elSize - settings.slideMargin; 1011 } 1012 1013 if (((scene * settings.slideMove) < length - settings.slideMove) && nextI) { 1014 settings.onBeforeNextSlide.call(this, $el, scene); 1015 scene++; 1016 $el.mode(false); 1017 if (settings.gallery === true) { 1018 plugin.slideThumb(); 1019 } 1020 } else { 1021 if (settings.loop === true) { 1022 settings.onBeforeNextSlide.call(this, $el, scene); 1023 scene = 0; 1024 $el.mode(false); 1025 if (settings.gallery === true) { 1026 plugin.slideThumb(); 1027 } 1028 } else if (settings.slideEndAnimation === true) { 1029 $el.addClass('rightEnd'); 1030 setTimeout(function () { 1031 $el.removeClass('rightEnd'); 1032 }, 400); 1033 } 1034 } 1035 }; 1036 $el.mode = function (_touch) { 1037 if (settings.adaptiveHeight === true && settings.vertical === false) { 1038 $el.css('height', $children.eq(scene).outerHeight(true)); 1039 } 1040 if (on === false) { 1041 if (settings.mode === 'slide') { 1042 if (plugin.doCss()) { 1043 $el.addClass('evoSlide'); 1044 if (settings.speed !== '') { 1045 $slide.css('transition-duration', settings.speed + 'ms'); 1046 } 1047 if (settings.cssEasing !== '') { 1048 $slide.css('transition-timing-function', settings.cssEasing); 1049 } 1050 } 1051 } else { 1052 if (plugin.doCss()) { 1053 if (settings.speed !== '') { 1054 $el.css('transition-duration', settings.speed + 'ms'); 1055 } 1056 if (settings.cssEasing !== '') { 1057 $el.css('transition-timing-function', settings.cssEasing); 1058 } 1059 } 1060 } 1061 } 1062 if (!_touch) { 1063 settings.onBeforeSlide.call(this, $el, scene); 1064 } 1065 if (settings.mode === 'slide') { 1066 plugin.slide(); 1067 } else { 1068 plugin.fade(); 1069 } 1070 if (!$slide.hasClass('evo-hover')) { 1071 plugin.auto(); 1072 } 1073 setTimeout(function () { 1074 if (!_touch) { 1075 settings.onAfterSlide.call(this, $el, scene); 1076 } 1077 }, settings.speed); 1078 on = true; 1079 }; 1080 $el.play = function () { 1081 $el.goToNextSlide(); 1082 settings.auto = true; 1083 plugin.auto(); 1084 }; 1085 $el.pause = function () { 1086 settings.auto = false; 1087 clearInterval(interval); 1088 }; 1089 $el.refresh = function () { 1090 refresh.init(); 1091 }; 1092 $el.getCurrentSlideCount = function () { 1093 var sc = scene; 1094 if (settings.loop) { 1095 var ln = $slide.find('.evoglide').length, 1096 cl = $el.find('.clone.left').length; 1097 if (scene <= cl - 1) { 1098 sc = ln + (scene - cl); 1099 } else if (scene >= (ln + cl)) { 1100 sc = scene - ln - cl; 1101 } else { 1102 sc = scene - cl; 1103 } 1104 } 1105 return sc + 1; 1106 }; 1107 $el.getTotaevoglideCount = function () { 1108 return $slide.find('.evoglide').length; 1109 }; 1110 $el.goToSlide = function (s) { 1111 if (settings.loop) { 1112 scene = (s + $el.find('.clone.left').length - 1); 1113 } else { 1114 scene = s; 1115 } 1116 $el.mode(false); 1117 if (settings.gallery === true) { 1118 plugin.slideThumb(); 1119 } 1120 }; 1121 $el.destroy = function () { 1122 if ($el.evoSlider) { 1123 $el.goToPrevSlide = function(){}; 1124 $el.goToNextSlide = function(){}; 1125 $el.mode = function(){}; 1126 $el.play = function(){}; 1127 $el.pause = function(){}; 1128 $el.refresh = function(){}; 1129 $el.getCurrentSlideCount = function(){}; 1130 $el.getTotaevoglideCount = function(){}; 1131 $el.goToSlide = function(){}; 1132 $el.evoSlider = null; 1133 refresh = { 1134 init : function(){} 1135 }; 1136 $sliderFooter.find('.evoAction, .evoPager').remove(); 1137 $el.removeClass('evoSlider evoFade evoSlide evoGrab evoGrabbing leftEnd right').removeAttr('style').unwrap().unwrap(); 1138 $el.children().removeAttr('style'); 1139 $children.removeClass('evoglide active'); 1140 $el.find('.clone').remove(); 1141 $children = null; 1142 interval = null; 1143 on = false; 1144 scene = 0; 1145 } 1146 1147 }; 1148 setTimeout(function () { 1149 settings.onSliderLoad.call(this, $el); 1150 }, 10); 1151 $(window).on('resize orientationchange', function (e) { 1152 setTimeout(function () { 1153 if (e.preventDefault) { 1154 e.preventDefault(); 1155 } else { 1156 e.returnValue = false; 1157 } 1158 refresh.init(); 1159 }, 200); 1160 }); 1161 return this; 1162 }; 1163}(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.