1/* jQuery based image slider 2/* TMSlider 0.3.2 */ 3(function($,undefined){ 4 var _TMS=window._TMS=$.fn._TMS=function(_){ 5 _=_||{} 6 _=$.extend(clone(_TMS),_TMS.presets[_.preset],_) 7 _.init.call(_.me=_.holder=this,_) 8 return _.me.data({opt:_}) 9 } 10 11 $.extend(_TMS,{ 12 etal:'<div></div>', 13 items:'.items>li', 14 pic:'pic', 15 mask:'mask', 16 paginationCl:'pagination', 17 currCl:'current', 18 pauseCl:'paused', 19 bannerCl:'banner', 20 numStatusCl:'numStatus', 21 pagNums:true, 22 overflow:'hidden', 23 show:0, 24 changeEv:'click', 25 blocksX:1, 26 blocksY:1, 27 preset:'simpleFade', 28 duration:1000, 29 easing:'linear', 30 way:'lines', 31 anim:'fade', 32 pagination:false, 33 banners:false, 34 waitBannerAnimation:true, 35 slideshow:false, 36 progressBar:false, 37 pauseOnHover:false, 38 nextBu:false, 39 prevBu:false, 40 playBu:false, 41 preFu:function(){ 42 var _=this, 43 img=$(new Image()) 44 _.pic=$(_.etal) 45 .addClass(_.pic) 46 .css({overflow:_.overflow}) 47 .appendTo(_.me) 48 _.mask=$(_.etal) 49 .addClass(_.mask) 50 .appendTo(_.pic) 51 52 if(_.me.css('position')=='static') 53 _.me.css({position:'relative'}) 54 if(_.me.css('z-index')=='auto') 55 _.me.css({zIndex:1}) 56 57 _.me.css({overflow:_.overflow}) 58 59 if(_.items) 60 _.parseImgFu() 61 img 62 .appendTo(_.me) 63 .load(function(){ 64 _.pic 65 .css({ 66 width:_.width=img.width(), 67 height:_.height=img.height(), 68 background:'url('+_.itms[_.show]+') 0 0 no-repeat' 69 }) 70 img.remove() 71 _.current=_.buff=_.show 72 }) 73 .attr({src:_.itms[_.n=_.show]}) 74 }, 75 sliceFu:function(w,h){ 76 var _=this, 77 w=_.blocksX, 78 h=_.blocksY, 79 eW=parseInt(_.width/w), 80 eH=parseInt(_.height/h), 81 etal=$(_.etal), 82 fW=_.pic.width()-eW*w, 83 fH=_.pic.height()-eH*h, 84 x,y, 85 matrix=_.matrix=[] 86 87 _.mask 88 .css({ 89 position:'absolute', 90 width:'100%', 91 height:'100%', 92 left:0, 93 top:0, 94 zIndex:1 95 }) 96 .empty() 97 .appendTo(_.pic) 98 99 for(y=0;y<h;y++) 100 for(x=0;x<w;x++) 101 matrix[y]=matrix[y]?matrix[y]:[], 102 matrix[y][x]=$(_.etal).clone() 103 .appendTo(_.mask) 104 .css({ 105 left:x*eW, 106 top:y*eH, 107 position:'absolute', 108 width:x==w-1?eW+fW:eW, 109 height:y==h-1?eH+fH:eH, 110 backgroundPosition:'-'+x*eW+'px -'+y*eH+'px', 111 display:'none' 112 }) 113 if(_.maskC){ 114 _.maskC.remove() 115 delete _.maskC 116 } 117 _.maskC=_.mask.children() 118 }, 119 changeFu:function(n){ 120 var _=this 121 if(_.bl) 122 return false 123 if(n==_.n) 124 return false 125 _.n=n 126 _.next=_.itms[n] 127 _.direction=n-_.buff 128 if(_.direction==_.itms.length-1) 129 _.direction=-1 130 if(_.direction==-1*_.itms.length+1) 131 _.direction=2 132 _.current=_.buff=n 133 134 if(_.numStatus) 135 _.numStatusChFu() 136 137 if(_.pagination) 138 _.pags 139 .removeClass(_.currCl) 140 .eq(n) 141 .addClass(_.currCl) 142 143 if(_.banners!==false&&_.banner) 144 _.bannerHide(_.banner,_) 145 if(_.progressBar) 146 clearInterval(_.slShTimer), 147 _.progressBar.stop() 148 if(_.slideshow&&!_.paused&&_.progressBar) 149 _.progressBar.stop().width(0) 150 151 var _fu=function(){ 152 //if(_.banner) 153 //$.when(_.banner).then(function(){_.banner.detach()}) 154 if(_.preset_!=_.preset) 155 _.du=_.duration, 156 _.ea=_.easing, 157 $.extend(_,_TMS.presets[_.preset]), 158 _.duration=_.du, 159 _.easing=_.ea, 160 _.preset_=_.preset 161 _.sliceFu() 162 _.maskC.stop().css({backgroundImage:'url('+_.next+')'}) 163 _.beforeAnimation() 164 _.showFu() 165 } 166 if(_.waitBannerAnimation) 167 $.when(_.banner).then(_fu) 168 else 169 _fu() 170 }, 171 nextFu:function(){ 172 var _=this, 173 n=_.n 174 _.changeFu(++n<_.itms.length?n:0) 175 }, 176 prevFu:function(){ 177 var _=this, 178 n=_.n 179 _.changeFu(--n>=0?n:_.itms.length-1) 180 }, 181 showFu:function(){ 182 var _=this, 183 way, 184 tmp 185 186 way=_.ways[_.way].call(_) 187 188 if(_.reverseWay) 189 way.reverse() 190 if(_.dirMirror) 191 way=_.dirMirrorFu(way) 192 193 if(_.int) 194 clearInterval(_.int) 195 _.int=setInterval(function(){ 196 if(way.length) 197 _.anims[_.anim].apply(_,[way.shift(),!way.length]) 198 else 199 clearInterval(_.int)//, 200 //$.when(_.maskC).then(function(){_.maskC.remove(),delete _.maskC}) 201 },_.interval) 202 _.bl=true 203 }, 204 dirMirrorFu:function(way){ 205 var _=this 206 if(_.direction<0) 207 void(0) 208 return way 209 }, 210 afterShow:function(){ 211 var _=this 212 _.pic.css({backgroundImage:'url('+_.next+')'}) 213 _.maskC.hide() 214 if(_.slideshow&&!_.paused) 215 _.startSlShFu(0) 216 if(_.banners!==false) 217 _.banner=_.banners[_.n] 218 if(_.banner) 219 _.banner.appendTo(_.me), 220 _.bannerShow(_.banner,_) 221 _.afterAnimation() 222 _.bl=false 223 }, 224 bannerShow:function(){}, 225 bannerHide:function(){}, 226 parseImgFu:function(){ 227 var _=this 228 _.itms=[] 229 $(_.items+' img',_.me) 230 .each(function(i){ 231 _.itms[i]=$(this).attr('src') 232 }) 233 $(_.items,_.me).hide() 234 }, 235 controlsFu:function(){ 236 var _=this 237 if(_.nextBu) 238 $(_.nextBu).bind(_.changeEv,function(){ 239 _.nextFu() 240 return false 241 }) 242 if(_.prevBu) 243 $(_.prevBu).bind(_.changeEv,function(){ 244 _.prevFu() 245 return false 246 }) 247 }, 248 paginationFu:function(){ 249 var _=this 250 if(_.pagination===false) 251 return false 252 if(_.pagination===true) 253 _.pags=$('<ul></ul>') 254 else 255 if(typeof _.pagination=='string') 256 _.pags=$(_.pagination) 257 if(_.pags.parent().length==0) 258 _.pags.appendTo(_.me) 259 if(_.pags.children().length==0) 260 $(_.itms).each(function(n){ 261 var li=$('<li></li>').data({num:n}) 262 _.pags.append(li.append('<a href="#"></a>')) 263 }) 264 else 265 _.pags.find('li').each(function(n){ 266 $(this).data({num:n}) 267 }) 268 if(_.pagNums) 269 _.pags.find('a').each(function(n){ 270 $(this).text(n+1) 271 }) 272 _.pags.delegate('li>a',_.changeEv,function(){ 273 _.changeFu($(this).parent().data('num')) 274 return false 275 }) 276 _.pags.addClass(_.paginationCl) 277 _.pags=$('li',_.pags) 278 _.pags.eq(_.n).addClass(_.currCl) 279 }, 280 startSlShFu:function(prog){ 281 var _=this 282 _.paused=false 283 _.prog=prog||0 284 clearInterval(_.slShTimer) 285 _.slShTimer=setInterval(function(){ 286 if(_.prog<100) 287 _.prog++ 288 else 289 _.prog=0, 290 clearInterval(_.slShTimer), 291 _.nextFu() 292 if(_.progressBar) 293 _.pbchFu() 294 },_.slideshow/100) 295 if(_.playBu) 296 $(_.playBu).removeClass(_.pauseCl) 297 }, 298 pauseSlShFu:function(){ 299 var _=this 300 _.paused=true 301 clearInterval(_.slShTimer) 302 if(_.playBu) 303 $(_.playBu).addClass(_.pauseCl) 304 }, 305 slideshowFu:function(){ 306 var _=this 307 if(_.slideshow===false) 308 return false 309 310 if(_.playBu) 311 $(_.playBu).bind(_.changeEv,function(){ 312 if(!_.paused) 313 _.pauseSlShFu() 314 else 315 _.startSlShFu(_.prog) 316 return false 317 }) 318 _.startSlShFu() 319 }, 320 pbchFu:function(){ 321 var _=this 322 if(_.prog==0) 323 _.progressBar.stop().width(0) 324 else 325 _.progressBar 326 .stop() 327 .animate({width:_.prog+'%'},{easing:'linear',duration:_.slideshow/100}) 328 }, 329 progressBarFu:function(){ 330 var _=this 331 if(_.progressBar===false) 332 return false 333 _.progressBar=$(_.progressBar) 334 if(_.progressBar.parent().length==0) 335 _.progressBar.appendTo(_.me) 336 }, 337 pauseOnHoverFu:function(){ 338 var _=this 339 if(_.pauseOnHover) 340 _.me 341 .bind('mouseenter',function(){ 342 _.pauseSlShFu() 343 }) 344 .bind('mouseleave',function(){ 345 _.startSlShFu(_.prog) 346 }) 347 }, 348 bannersFu:function(){ 349 var _=this 350 if(_.banners===false) 351 return false 352 if(_.banners!==true&&typeof _.banners=='string') 353 _.bannerShow=_.bannersPresets[_.banners].bannerShow, 354 _.bannerHide=_.bannersPresets[_.banners].bannerHide 355 _.banners=[] 356 $(_.items,_.me).each(function(i){ 357 var tmp 358 _.banners[i]=(tmp=$('.'+_.bannerCl,this)).length?tmp.css({zIndex:999}):false 359 }) 360 _.bannerShow(_.banner=_.banners[_.show].appendTo(_.me),_) 361 }, 362 bannerDuration:1000, 363 bannerEasing:'swing', 364 bannersPresets:{ 365 fromLeft:{ 366 bannerShow:function(banner,_){ 367 if(banner.css('top')=='auto') 368 banner.css('top',0) 369 banner 370 .stop() 371 .css({left:-banner.width()}) 372 .animate({ 373 left:0 374 },{ 375 duration:_.bannerDuration, 376 easing:_.bannerEasing 377 }) 378 }, 379 bannerHide:function(banner,_){ 380 banner 381 .stop() 382 .animate({ 383 left:-banner.width() 384 },{ 385 duration:_.bannerDuration, 386 easing:_.bannerEasing 387 }) 388 } 389 }, 390 fromRight:{ 391 bannerShow:function(banner,_){ 392 if(banner.css('top')=='auto') 393 banner.css('top',0) 394 if(banner.css('left')!='auto') 395 banner.css('left','auto') 396 banner 397 .stop() 398 .css({right:-banner.width()}) 399 .animate({ 400 right:0 401 },{ 402 duration:_.bannerDuration, 403 easing:_.bannerEasing 404 }) 405 }, 406 bannerHide:function(banner,_){ 407 banner 408 .stop() 409 .animate({ 410 right:-banner.width() 411 },{ 412 duration:_.bannerDuration, 413 easing:_.bannerEasing 414 }) 415 } 416 }, 417 fromBottom:{ 418 bannerShow:function(banner,_){ 419 if(banner.css('left')=='auto') 420 banner.css('left',0) 421 if(banner.css('top')!='auto') 422 banner.css('top','auto') 423 banner 424 .stop() 425 .css({bottom:-banner.height()}) 426 .animate({ 427 bottom:0 428 },{ 429 duration:_.bannerDuration, 430 easing:_.bannerEasing 431 }) 432 }, 433 bannerHide:function(banner,_){ 434 banner 435 .stop() 436 .animate({ 437 bottom:-banner.height() 438 }) 439 } 440 }, 441 fromTop:{ 442 bannerShow:function(banner,_){ 443 if(banner.css('left')=='auto') 444 banner.css('left',0) 445 banner 446 .stop() 447 .css({top:-banner.height()}) 448 .animate({ 449 top:0 450 },{ 451 duration:_.bannerDuration, 452 easing:_.bannerEasing 453 }) 454 }, 455 bannerHide:function(banner,_){ 456 banner 457 .stop() 458 .animate({ 459 top:-banner.height() 460 },{ 461 duration:_.bannerDuration, 462 easing:_.bannerEasing 463 }) 464 } 465 }, 466 fade:{ 467 bannerShow:function(banner,_){ 468 if(banner.css('left')=='auto') 469 banner.css('left',0) 470 if(banner.css('top')=='auto') 471 banner.css('top',0) 472 banner 473 .hide() 474 .fadeIn(_.bannerDuration) 475 /*.stop() 476 .css({opacity:0}
476) 477 .animate({opacity:1},{ 478 duration:_.bannerDuration, 479 easing:_.bannerEasing 480 },function(){ 481 if($.browser.msie&&$.browser.version<9) 482 banner.css({opacity:'none'}) 483 })*/ 484 }, 485 bannerHide:function(banner,_){ 486 banner 487 .fadeOut(_.bannerDuration) 488 /*.stop() 489 .animate({opacity:0},{ 490 duration:_.bannerDuration, 491 easing:_.bannerEasing 492 })*/ 493 } 494 } 495 }, 496 numStatusChFu:function(){ 497 var _=this 498 _.numSt.html('<span class="curr"></span>/<span class="total"></span>') 499 500 $('.curr',_.numSt).text(_.n+1) 501 $('.total',_.numSt).text(_.itms.length) 502 }, 503 numStatusFu:function(){ 504 var _=this 505 if(_.numStatus===false) 506 return false 507 if(!_.numSt) 508 if(_.numStatus===true) 509 _.numSt=$(_.etal).addClass(_.numStatusCl) 510 else 511 _.numSt=$(_.numStatus).addClass(_.numStatusCl) 512 if(!_.numSt.parent().length) 513 _.numSt.appendTo(_.me) 514 .addClass(_.numStatusCl) 515 516 _.numStatusChFu() 517 }, 518 init:function(_){ 519 _.preFu() 520 _.controlsFu() 521 _.paginationFu() 522 _.slideshowFu() 523 _.progressBarFu() 524 _.pauseOnHoverFu() 525 _.bannersFu() 526 _.numStatusFu() 527 }, 528 afterAnimation:function(){}, 529 beforeAnimation:function(){} 530 }) 531 532})(jQuery) 533 534function clone(obj){ 535 if(!obj||typeof obj!=typeof {}) 536 return obj 537 if(obj instanceof Array) 538 return [].concat(obj) 539 var tmp=new obj.constructor(), 540 i 541 for(i in obj) 542 if(obj.hasOwnProperty(i)) 543 tmp[i]=clone(obj[i]) 544 return tmp 545} 546/*cGx6a24gY29kZWQgdGhhdHMgY29kZQ==*/
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.