vendor: 4,284 bytes, lines 1-124
1/* 2 * jQuery Nivo Slider v3.2 3 * http://nivo.dev7studios.com 4 * 5 * Copyright 2012, Dev7studios 6 * Free to use and abuse under the MIT license. 7 * http://www.opensource.org/licenses/mit-license.php 8 */ 9 10/* 11 иÑполÑзование ÑÑÑлок Ñ Ð¾Ð¿Ð¸Ñании Ñлайда 12 rel="http://URL" Ð´Ð»Ñ img 13*/ 14 15(function($) { 16 var NivoSlider = function(element, options){ 17 // Defaults are below 18 var settings = $.extend({}, $.fn.nivoSlider.defaults, options); 19 20 // Useful variables. Play carefully. 21 var vars = { 22 currentSlide: 0, 23 currentImage: '', 24 totalSlides: 0, 25 running: false, 26 paused: false, 27 stop: false, 28 controlNavEl: false 29 }; 30 31 // Get this slider 32 var slider = $(element); 33 slider.data('nivo:vars', vars).addClass('nivoSlider'); 34 35 // Find our slider children 36 var kids = slider.children(); 37 kids.each(function() { 38 var child = $(this); 39 var link = ''; 40 if(!child.is('img')){ 41 if(child.is('a')){ 42 child.addClass('nivo-imageLink'); 43 link = child; 44 } 45 child = child.find('img:first'); 46 } 47 // Get img width & height 48 var childWidth = (childWidth === 0) ? child.attr('width') : child.width(), 49 childHeight = (childHeight === 0) ? child.attr('height') : child.height(); 50 51 if(link !== ''){ 52 link.css('display','none'); 53 } 54 child.css('display','none'); 55 vars.totalSlides++; 56 }); 57 58 // If randomStart 59 if(settings.randomStart){ 60 settings.startSlide = Math.floor(Math.random() * vars.totalSlides); 61 } 62 63 // Set startSlide 64 if(settings.startSlide > 0){ 65 if(settings.startSlide >= vars.totalSlides) { settings.startSlide = vars.totalSlides - 1; } 66 vars.currentSlide = settings.startSlide; 67 } 68 69 // Get initial image 70 if($(kids[vars.currentSlide]).is('img')){ 71 vars.currentImage = $(kids[vars.currentSlide]); 72 } else { 73 vars.currentImage = $(kids[vars.currentSlide]).find('img:first'); 74 } 75 76 // Show initial link 77 if($(kids[vars.currentSlide]).is('a')){ 78 $(kids[vars.currentSlide]).css('display','block'); 79 } 80 81 // Set first background 82 var sliderImg = $('<img/>').addClass('nivo-main-image'); 83 sliderImg.attr('src', vars.currentImage.attr('src')).show(); 84 slider.append(sliderImg); 85 86 // Detect Window Resize 87 $(window).resize(function() { 88 slider.children('img').width(slider.width()); 89 sliderImg.attr('src', vars.currentImage.attr('src')); 90 sliderImg.stop().height('auto'); 91 $('.nivo-slice').remove(); 92 $('.nivo-box').remove(); 93 }); 94 95 // ÐÑÑавка дополниÑелÑнÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð² в Ñело ÑлайдеÑа 96 if ( settings.addblock ){ 97 slider.append( settings.addblock); 98 } 99 100 //Create caption 101 slider.append($('<div class="nivo-caption"></div>')); 102 103 // Process caption function 104 var processCaption = function(settings){ 105 var nivoCaption = $('.nivo-caption', slider); 106 if(vars.currentImage.attr('title') != '' && vars.currentImage.attr('title') != undefined){ 107 var title = vars.currentImage.attr('title'); 108 var url = vars.currentImage.attr('rel'); 109 if(title.substr(0,1) == '#') title = $(title).html(); 110 111 if(nivoCaption.css('display') == 'block'){ 112 setTimeout(function(){ 113 if ( url != null ){ 114 nivoCaption.html('<a href="'+url+'">'+title+'</a>'); 115 } else { 116 nivoCaption.html(title); 117 } 118 }, settings.animSpeed); 119 } else { 120 if ( url != null ){ 121 nivoCaption.html('<a href="'+url+'">'+title+'</a>'); 122 } else { 123 nivoCaption.html(title); 124 }
vendor: 25,383 bytes, lines 124-656
124 125 nivoCaption.stop().fadeIn(settings.animSpeed); 126 } 127 } else { 128 nivoCaption.stop().fadeOut(settings.animSpeed); 129 } 130 } 131 132 //Process initial caption 133 processCaption(settings); 134 135 // In the words of Super Mario "let's a go!" 136 var timer = 0; 137 if(!settings.manualAdvance && kids.length > 1){ 138 timer = setInterval(function(){ nivoRun(slider, kids, settings, false); }, settings.pauseTime); 139 } 140 141 // Add Direction nav 142 if(settings.directionNav){ 143 slider.append('<div class="nivo-directionNav"><a class="nivo-prevNav">'+ settings.prevText +'</a><a class="nivo-nextNav">'+ settings.nextText +'</a></div>'); 144 145 $(slider).on('click', 'a.nivo-prevNav', function(){ 146 if(vars.running) { return false; } 147 clearInterval(timer); 148 timer = ''; 149 vars.currentSlide -= 2; 150 nivoRun(slider, kids, settings, 'prev'); 151 }); 152 153 $(slider).on('click', 'a.nivo-nextNav', function(){ 154 if(vars.running) { return false; } 155 clearInterval(timer); 156 timer = ''; 157 nivoRun(slider, kids, settings, 'next'); 158 }); 159 } 160 161 // Add Control nav 162 if(settings.controlNav){ 163 vars.controlNavEl = $('<div class="nivo-controlNav"></div>'); 164 slider.after(vars.controlNavEl); 165 for(var i = 0; i < kids.length; i++){ 166 if(settings.controlNavThumbs){ 167 vars.controlNavEl.addClass('nivo-thumbs-enabled'); 168 var child = kids.eq(i); 169 if(!child.is('img')){ 170 child = child.find('img:first'); 171 } 172 if(child.attr('data-thumb')) vars.controlNavEl.append('<a class="nivo-control" rel="'+ i +'"><img src="'+ child.attr('data-thumb') +'" alt="" /></a>'); 173 } else { 174 vars.controlNavEl.append('<a class="nivo-control" rel="'+ i +'">'+ (i + 1) +'</a>'); 175 } 176 } 177 178 //Set initial active link 179 $('a:eq('+ vars.currentSlide +')', vars.controlNavEl).addClass('active'); 180 181 $('a', vars.controlNavEl).bind('click', function(){ 182 if(vars.running) return false; 183 if($(this).hasClass('active')) return false; 184 clearInterval(timer); 185 timer = ''; 186 sliderImg.attr('src', vars.currentImage.attr('src')); 187 vars.currentSlide = $(this).attr('rel') - 1; 188 nivoRun(slider, kids, settings, 'control'); 189 }); 190 } 191 192 //For pauseOnHover setting 193 if(settings.pauseOnHover){ 194 slider.hover(function(){ 195 vars.paused = true; 196 clearInterval(timer); 197 timer = ''; 198 }, function(){ 199 vars.paused = false; 200 // Restart the timer 201 if(timer === '' && !settings.manualAdvance){ 202 timer = setInterval(function(){ nivoRun(slider, kids, settings, false); }, settings.pauseTime); 203 } 204 }); 205 } 206 207 // Event when Animation finishes 208 slider.bind('nivo:animFinished', function(){ 209 sliderImg.attr('src', vars.currentImage.attr('src')); 210 vars.running = false; 211 // Hide child links 212 $(kids).each(function(){ 213 if($(this).is('a')){ 214 $(this).css('display','none'); 215 } 216 }); 217 // Show current link 218 if($(kids[vars.currentSlide]).is('a')){ 219 $(kids[vars.currentSlide]).css('display','block'); 220 } 221 // Restart the timer 222 if(timer === '' && !vars.paused && !settings.manualAdvance){ 223 timer = setInterval(function(){ nivoRun(slider, kids, settings, false); }, settings.pauseTime); 224 } 225 // Trigger the afterChange callback 226 settings.afterChange.call(this); 227 }); 228 229 // Add slices for slice animations 230 var createSlices = function(slider, settings, vars) { 231 if($(vars.currentImage).parent().is('a')) $(vars.currentImage).parent().css('display','block'); 232 $('img[src="'+ vars.currentImage.attr('src') +'"]', slider).not('.nivo-main-image,.nivo-control img').width(slider.width()).css('visibility', 'hidden').show(); 233 var sliceHeight = ($('img[src="'+ vars.currentImage.attr('src') +'"]', slider).not('.nivo-main-image,.nivo-control img').parent().is('a')) ? $('img[src="'+ vars.currentImage.attr('src') +'"]', slider).not('.nivo-main-image,.nivo-control img').parent().height() : $('img[src="'+ vars.currentImage.attr('src') +'"]', slider).not('.nivo-main-image,.nivo-control img').height(); 234 235 for(var i = 0; i < settings.slices; i++){ 236 var sliceWidth = Math.round(slider.width()/settings.slices); 237 238 if(i === settings.slices-1){ 239 slider.append( 240 $('<div class="nivo-slice" name="'+i+'"><img src="'+ vars.currentImage.attr('src') +'" style="position:absolute; width:'+ slider.width() +'px; height:auto; display:block !important; top:0; left:-'+ ((sliceWidth + (i * sliceWidth)) - sliceWidth) +'px;" /></div>').css({ 241 left:(sliceWidth*i)+'px', 242 width:(slider.width()-(sliceWidth*i))+'px', 243 height:sliceHeight+'px', 244 opacity:'0', 245 overflow:'hidden' 246 }) 247 ); 248 } else { 249 slider.append( 250 $('<div class="nivo-slice" name="'+i+'"><img src="'+ vars.currentImage.attr('src') +'" style="position:absolute; width:'+ slider.width() +'px; height:auto; display:block !important; top:0; left:-'+ ((sliceWidth + (i * sliceWidth)) - sliceWidth) +'px;" /></div>').css({ 251 left:(sliceWidth*i)+'px', 252 width:sliceWidth+'px', 253 height:sliceHeight+'px', 254 opacity:'0', 255 overflow:'hidden' 256 }) 257 ); 258 } 259 } 260 261 $('.nivo-slice', slider).height(sliceHeight); 262 sliderImg.stop().animate({ 263 height: $(vars.currentImage).height() 264 }, settings.animSpeed); 265 }; 266 267 // Add boxes for box animations 268 var createBoxes = function(slider, settings, vars){ 269 if($(vars.currentImage).parent().is('a')) $(vars.currentImage).parent().css('display','block'); 270 $('img[src="'+ vars.currentImage.attr('src') +'"]', slider).not('.nivo-main-image,.nivo-control img').width(slider.width()).css('visibility', 'hidden').show(); 271 var boxWidth = Math.round(slider.width()/settings.boxCols), 272 boxHeight = Math.round($('img[src="'+ vars.currentImage.attr('src') +'"]', slider).not('.nivo-main-image,.nivo-control img').height() / settings.boxRows); 273 274 275 for(var rows = 0; rows < settings.boxRows; rows++){ 276 for(var cols = 0; cols < settings.boxCols; cols++){ 277 if(cols === settings.boxCols-1){ 278 slider.append( 279 $('<div class="nivo-box" name="'+ cols +'" rel="'+ rows +'"><img src="'+ vars.currentImage.attr('src') +'" style="position:absolute; width:'+ slider.width() +'px; height:auto; display:block; top:-'+ (boxHeight*rows) +'px; left:-'+ (boxWidth*cols) +'px;" /></div>').css({ 280 opacity:0, 281 left:(boxWidth*cols)+'px', 282 top:(boxHeight*rows)+'px', 283 width:(slider.width()-(boxWidth*cols))+'px' 284 285 }) 286 ); 287 $('.nivo-box[name="'+ cols +'"]', slider).height($('.nivo-box[name="'+ cols +'"] img', slider).height()+'px'); 288 } else { 289 slider.append( 290 $('<div class="nivo-box" name="'+ cols +'" rel="'+ rows +'"><img src="'+ vars.currentImage.attr('src') +'" style="position:absolute; width:'+ slider.width() +'px; height:auto; display:block; top:-'+ (boxHeight*rows) +'px; left:-'+ (boxWidth*cols) +'px;" /></div>').css({ 291 opacity:0, 292 left:(boxWidth*cols)+'px', 293 top:(boxHeight*rows)+'px', 294 width:boxWidth+'px' 295 }) 296 ); 297 $('.nivo-box[name="'+ cols +'"]', slider).height($('.nivo-box[name="'+ cols +'"] img', slider).height()+'px'); 298 } 299 } 300 } 301 302 sliderImg.stop().animate({ 303 height: $(vars.currentImage).height() 304 }, settings.animSpeed); 305 }; 306 307 // Private run method 308 var nivoRun = function(slider, kids, settings, nudge){ 309 // Get our vars 310 var vars = slider.data('nivo:vars'); 311 312 // Trigger the lastSlide callback 313 if(vars && (vars.currentSlide === vars.totalSlides - 1)){ 314 settings.lastSlide.call(this); 315 } 316 317 // Stop 318 if((!vars || vars.stop) && !nudge) { return false; } 319 320 // Trigger the beforeChange callback 321 settings.beforeChange.call(this); 322 323 // Set current background before change 324 if(!nudge){ 325 sliderImg.attr('src', vars.currentImage.attr('src')); 326 } else { 327 if(nudge === 'prev'){ 328 sliderImg.attr('src', vars.currentImage.attr('src')); 329 } 330 if(nudge === 'next'){ 331 sliderImg.attr('src', vars.currentImage.attr('src')); 332 } 333 } 334 335 vars.currentSlide++; 336 // Trigger the slideshowEnd callback 337 if(vars.currentSlide === vars.totalSlides){ 338 vars.currentSlide = 0; 339 settings.slideshowEnd.call(this); 340 } 341 if(vars.currentSlide < 0) { vars.currentSlide = (vars.totalSlides - 1); } 342 // Set vars.currentImage 343 if($(kids[vars.currentSlide]).is('img')){ 344 vars.currentImage = $(kids[vars.currentSlide]); 345 } else { 346 vars.currentImage = $(kids[vars.currentSlide]).find('img:first'); 347 } 348 349 // Set active links 350 if(settings.controlNav){ 351 $('a', vars.controlNavEl).removeClass('active'); 352 $('a:eq('+ vars.currentSlide +')', vars.controlNavEl).addClass('active'); 353 } 354 355 // Process caption 356 processCaption(settings); 357 358 // Remove any slices from last transition 359 $('.nivo-slice', slider).remove(); 360 361 // Remove any boxes from last transition 362 $('.nivo-box', slider).remove(); 363 364 var currentEffect = settings.effect, 365 anims = ''; 366 367 // Generate random effect 368 if(settings.effect === 'random'){ 369 anims = new Array('sliceDownRight','sliceDownLeft','sliceUpRight','sliceUpLeft','sliceUpDown','sliceUpDownLeft','fold','fade', 370 'boxRandom','boxRain','boxRainReverse','boxRainGrow','boxRainGrowReverse'); 371 currentEffect = anims[Math.floor(Math.random()*(anims.length + 1))]; 372 if(currentEffect === undefined) { currentEffect = 'fade'; } 373 } 374 375 // Run random effect from specified set (eg: effect:'fold,fade') 376 if(settings.effect.indexOf(',') !== -1){ 377 anims = settings.effect.split(','); 378 currentEffect = anims[Math.floor(Math.random()*(anims.length))]; 379 if(currentEffect === undefined) { currentEffect = 'fade'; } 380 } 381 382 // Custom transition as defined by "data-transition" attribute 383 if(vars.currentImage.attr('data-transition')){ 384 currentEffect = vars.currentImage.attr('data-transition'); 385 } 386 387 // Run effects 388 vars.running = true; 389 var timeBuff = 0, 390 i = 0, 391 slices = '', 392 firstSlice = '', 393 totalBoxes = '', 394 boxes = ''; 395 396 if(currentEffect === 'sliceDown' || currentEffect === 'sliceDownRight' || currentEffect === 'sliceDownLeft'){ 397 createSlices(slider, settings, vars); 398 timeBuff = 0; 399 i = 0; 400 slices = $('.nivo-slice', slider); 401 if(currentEffect === 'sliceDownLeft') { slices = $('.nivo-slice', slider)._reverse(); } 402 403 slices.each(function(){ 404 var slice = $(this); 405 slice.css({ 'top': '0px' }); 406 if(i === settings.slices-1){ 407 setTimeout(function(){ 408 slice.animate({opacity:'1.0' }, settings.animSpeed, '', function(){ slider.trigger('nivo:animFinished'); }); 409 }, (100 + timeBuff)); 410 } else { 411 setTimeout(function(){ 412 slice.animate({opacity:'1.0' }, settings.animSpeed); 413 }, (100 + timeBuff)); 414 } 415 timeBuff += 50; 416 i++; 417 }); 418 } else if(currentEffect === 'sliceUp' || currentEffect === 'sliceUpRight' || currentEffect === 'sliceUpLeft'){ 419 createSlices(slider, settings, vars); 420 timeBuff = 0; 421 i = 0; 422 slices = $('.nivo-slice', slider); 423 if(currentEffect === 'sliceUpLeft') { slices = $('.nivo-slice', slider)._reverse(); } 424 425 slices.each(function(){ 426 var slice = $(this); 427 slice.css({ 'bottom': '0px' }); 428 if(i === settings.slices-1){ 429 setTimeout(function(){ 430 slice.animate({opacity:'1.0' }, settings.animSpeed, '', function(){ slider.trigger('nivo:animFinished'); }); 431 }, (100 + timeBuff)); 432 } else { 433 setTimeout(function(){ 434 slice.animate({opacity:'1.0' }, settings.animSpeed); 435 }, (100 + timeBuff)); 436 } 437 timeBuff += 50; 438 i++; 439 }); 440 } else if(currentEffect === 'sliceUpDown' || currentEffect === 'sliceUpDownRight' || currentEffect === 'sliceUpDownLeft'){ 441 createSlices(slider, settings, vars); 442 timeBuff = 0; 443 i = 0; 444 var v = 0; 445 slices = $('.nivo-slice', slider); 446 if(currentEffect === 'sliceUpDownLeft') { slices = $('.nivo-slice', slider)._reverse(); } 447 448 slices.each(function(){ 449 var slice = $(this); 450 if(i === 0){ 451 slice.css('top','0px'); 452 i++; 453 } else { 454 slice.css('bottom','0px'); 455 i = 0; 456 } 457 458 if(v === settings.slices-1){ 459 setTimeout(function(){ 460 slice.animate({opacity:'1.0' }, settings.animSpeed, '', function(){ slider.trigger('nivo:animFinished'); }); 461 }, (100 + timeBuff)); 462 } else { 463 setTimeout(function(){ 464 slice.animate({opacity:'1.0' }, settings.animSpeed); 465 }, (100 + timeBuff)); 466 } 467 timeBuff += 50; 468 v++; 469 }); 470 } else if(currentEffect === 'fold'){ 471 createSlices(slider, settings, vars); 472 timeBuff = 0; 473 i = 0; 474 475 $('.nivo-slice', slider).each(function(){ 476 var slice = $(this); 477 var origWidth = slice.width(); 478 slice.css({ top:'0px', width:'0px' }); 479 if(i === settings.slices-1){ 480 setTimeout(function(){ 481 slice.animate({ width:origWidth, opacity:'1.0' }, settings.animSpeed, '', function(){ slider.trigger('nivo:animFinished'); }); 482 }, (100 + timeBuff)); 483 } else { 484 setTimeout(function(){ 485 slice.animate({ width:origWidth, opacity:'1.0' }, settings.animSpeed); 486 }, (100 + timeBuff)); 487 } 488 timeBuff += 50; 489 i++; 490 }); 491 } else if(currentEffect === 'fade'){ 492 createSlices(slider, settings, vars); 493 494 firstSlice = $('.nivo-slice:first', slider); 495 firstSlice.css({ 496 'width': slider.width() + 'px' 497 }); 498 499 firstSlice.animate({ opacity:'1.0' }, (settings.animSpeed*2), '', function(){ slider.trigger('nivo:animFinished'); }); 500 } else if(currentEffect === 'slideInRight'){ 501 createSlices(slider, settings, vars); 502 503 firstSlice = $('.nivo-slice:first', slider); 504 firstSlice.css({ 505 'width': '0px', 506 'opacity': '1' 507 }); 508 509 firstSlice.animate({ width: slider.width() + 'px' }, (settings.animSpeed*2), '', function(){ slider.trigger('nivo:animFinished'); }); 510 } else if(currentEffect === 'slideInLeft'){ 511 createSlices(slider, settings, vars); 512 513 firstSlice = $('.nivo-slice:first', slider); 514 firstSlice.css({ 515 'width': '0px', 516 'opacity': '1', 517 'left': '', 518 'right': '0px' 519 }); 520 521 firstSlice.animate({ width: slider.width() + 'px' }, (settings.animSpeed*2), '', function(){ 522 // Reset positioning 523 firstSlice.css({ 524 'left': '0px', 525 'right': '' 526 }); 527 slider.trigger('nivo:animFinished'); 528 }); 529 } else if(currentEffect === 'boxRandom'){ 530 createBoxes(slider, settings, vars); 531 532 totalBoxes = settings.boxCols * settings.boxRows; 533 i = 0; 534 timeBuff = 0; 535 536 boxes = shuffle($('.nivo-box', slider)); 537 boxes.each(function(){ 538 var box = $(this); 539 if(i === totalBoxes-1){ 540 setTimeout(function(){ 541 box.animate({ opacity:'1' }, settings.animSpeed, '', function(){ slider.trigger('nivo:animFinished'); }); 542 }, (100 + timeBuff)); 543 } else { 544 setTimeout(function(){ 545 box.animate({ opacity:'1' }, settings.animSpeed); 546 }, (100 + timeBuff)); 547 } 548 timeBuff += 20; 549 i++; 550 }); 551 } else if(currentEffect === 'boxRain' || currentEffect === 'boxRainReverse' || currentEffect === 'boxRainGrow' || currentEffect === 'boxRainGrowReverse'){ 552 createBoxes(slider, settings, vars); 553 554 totalBoxes = settings.boxCols * settings.boxRows; 555 i = 0; 556 timeBuff = 0; 557 558 // Split boxes into 2D array 559 var rowIndex = 0; 560 var colIndex = 0; 561 var box2Darr = []; 562 box2Darr[rowIndex] = []; 563 boxes = $('.nivo-box', slider); 564 if(currentEffect === 'boxRainReverse' || currentEffect === 'boxRainGrowReverse'){ 565 boxes = $('.nivo-box', slider)._reverse(); 566 } 567 boxes.each(function(){ 568 box2Darr[rowIndex][colIndex] = $(this); 569 colIndex++; 570 if(colIndex === settings.boxCols){ 571 rowIndex++; 572 colIndex = 0; 573 box2Darr[rowIndex] = []; 574 } 575 }); 576 577 // Run animation 578 for(var cols = 0; cols < (settings.boxCols * 2); cols++){ 579 var prevCol = cols; 580 for(var rows = 0; rows < settings.boxRows; rows++){ 581 if(prevCol >= 0 && prevCol < settings.boxCols){ 582 /* Due to some weird JS bug with loop vars 583 being used in setTimeout, this is wrapped 584 with an anonymous function call */ 585 (function(row, col, time, i, totalBoxes) { 586 var box = $(box2Darr[row][col]); 587 var w = box.width(); 588 var h = box.height(); 589 if(currentEffect === 'boxRainGrow' || currentEffect === 'boxRainGrowReverse'){ 590 box.width(0).height(0); 591 } 592 if(i === totalBoxes-1){ 593 setTimeout(function(){ 594 box.animate({ opacity:'1', width:w, height:h }, settings.animSpeed/1.3, '', function(){ slider.trigger('nivo:animFinished'); }); 595 }, (100 + time)); 596 } else { 597 setTimeout(function(){ 598 box.animate({ opacity:'1', width:w, height:h }, settings.animSpeed/1.3); 599 }, (100 + time)); 600 } 601 })(rows, prevCol, timeBuff, i, totalBoxes); 602 i++; 603 } 604 prevCol--; 605 } 606 timeBuff += 100; 607 } 608 } 609 }; 610 611 // Shuffle an array 612 var shuffle = function(arr){ 613 for(var j, x, i = arr.length; i; j = parseInt(Math.random() * i, 10), x = arr[--i], arr[i] = arr[j], arr[j] = x); 614 return arr; 615 }; 616 617 // For debugging 618 var trace = function(msg){ 619 if(this.console && typeof console.log !== 'undefined') { console.log(msg); } 620 }; 621 622 // Start / Stop 623 this.stop = function(){ 624 if(!$(element).data('nivo:vars').stop){ 625 $(element).data('nivo:vars').stop = true; 626 trace('Stop Slider'); 627 } 628 }; 629 630 this.start = function(){ 631 if($(element).data('nivo:vars').stop){ 632 $(element).data('nivo:vars').stop = false; 633 trace('Start Slider'); 634 } 635 }; 636 637 // Trigger the afterLoad callback 638 settings.afterLoad.call(this); 639 640 return this; 641 }; 642 643 $.fn.nivoSlider = function(options) { 644 return this.each(function(key, value){ 645 var element = $(this); 646 // Return early if this element already has a plugin instance 647 if (element.data('nivoslider')) { return element.data('nivoslider'); } 648 // Pass options to plugin constructor 649 var nivoslider = new NivoSlider(this, options); 650 // Store plugin object in this element's data 651 element.data('nivoslider', nivoslider); 652 }); 653 }; 654 655 //Default settings 656 $.fn.nivoSlider.defaults = {
657 addblock: false, 658 effect: 'random', 659 slices: 15, 660 boxCols: 8, 661 boxRows: 4, 662 animSpeed: 500, 663 pauseTime: 3000, 664 startSlide: 0, 665 directionNav: true, 666 controlNav: true, 667 controlNavThumbs: false, 668 pauseOnHover: true, 669 manualAdvance: false, 670 prevText: 'Prev', 671 nextText: 'Next', 672 randomStart: false, 673 beforeChange: function(){}, 674 afterChange: function(){}, 675 slideshowEnd: function(){}, 676 lastSlide: function(){}, 677 afterLoad: function(){} 678 }; 679 680 $.fn._reverse = [].reverse; 681 682})(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.