// javascript document // javascript document // javascript document function slide(maxdiv,listdiv,prvediv,nextdiv,btndiv){ this.maxdiv = $("#"+maxdiv); // 大盒子节点 this.listdiv = $("#"+maxdiv+" ."+listdiv+""); // 列表盒子节点 this.prvediv = $("#"+maxdiv+" ."+prvediv+""); // 左侧箭头节点 this.nextdiv = $("#"+maxdiv+" ."+nextdiv+""); // 右侧箭头节点 this.btndiv = $("#"+maxdiv+" ."+btndiv+""); // 箭头节点 this.btnol = $("#"+maxdiv+" .minpic ul"); // 迷你按钮 this.btnli = $("#"+maxdiv+" .minpic ul li"); // this.listul = $("#"+maxdiv+" ."+listdiv+" ul"); // ul节点 this.listli = $("#"+maxdiv+" ."+listdiv+" ul li"); // li节点 this.index = 0; // 索引 this.countli = 0; // li节点的数量 this.thewidth = 0; // 移动宽度 this.timmer = null; // 自动执行 this.isexit = true; } //初始化方法 slide.prototype.init = function(){ this.countli = this.listli.length; // 节点数量 $(this.btnli).eq(0).addclass("onfocus"); this.thewidth = $(this.listdiv).width(); // 移动宽度 $(this.listul).css({"width":(this.countli * this.thewidth)+"px"}); // 设置ul的宽度 $(this.btnol).css({"width":this.countli * this.btnli.height()}); this.aotuplay(); // 调用自动播放 this.bevnt(); // 调用事件 } //事件绑定 slide.prototype.bevnt = function(){ var theobj = this; $(theobj.btnli).click(function(){ clearinterval(theobj.timmer); //清空定时 theobj.index=$(theobj.btnli).index(this); theobj.showone(); theobj.aotuplay(); }); $(this.prvediv).click(function(){ if(theobj.timmer != null){ clearinterval(theobj.timmer); //清空定时器 } if(theobj.isexit){ theobj.isexit = false; if(theobj.index > 0 ){ theobj.index --; }else{ theobj.index = theobj.countli - 1; } theobj.showone(); // 调用显示 } theobj.aotuplay(); }); $(this.nextdiv).click(function(){ if(theobj.timmer != null){ clearinterval(theobj.timmer); //清空定时器 } if(theobj.isexit){ theobj.isexit = false; if(theobj.index < theobj.countli - 1 ){ theobj.index ++; }else{ theobj.index = 0; } theobj.showone(); // 调用显示 } theobj.aotuplay(); }); } // 定义定时器 slide.prototype.aotuplay = function(){ var theobj = this; this.timmer = setinterval(function(){ theobj.setautoplay(); },5000) } // 设置自动播放 slide.prototype.setautoplay = function(){ if(this.isexit){ this.isexit = false; if(this.index < this.countli - 1 ){ this.index ++; }else{ this.index = 0; } } this.showone(); } // 显示方式 slide.prototype.showone = function(){ var theobj = this; $($(this.btnli).get(this.index)).addclass("onfocus").siblings().removeclass("onfocus"); $("#albums .num em").html(theobj.index + 1); tempwidth = this.index * this.thewidth; // 移动宽度 $(this.listdiv).animate({scrollleft:tempwidth},800,function(){ theobj.isexit = true; }); if(theobj.index >= theobj.countli - 1){ $(this.btnol).animate({"top":-( theobj.btnli.height()*(theobj.countli - 3) )},800); }else if(theobj.index >= 2 && theobj.index < theobj.countli - 1){ $(this.btnol).stop().animate({"top":-(theobj.btnli.height()*(theobj.index-1))},800); }else{ $(this.btnol).animate({"top":0},800); } }