/** * 全屏幻灯片类 */ function SlideClass(DivIdName){ //幻灯节点对象 this.DivObj=$("#"+DivIdName); //大图节点对象 this.DivBigImgObj=$("#"+DivIdName+" .list"); this.BigLiArr=$("#"+DivIdName+" .list li"); //缩略图节点对象 this.DivObj.append("
"); this.DivThumbObj=$("#"+DivIdName+" .Thumb"); this.ThumbLiObj=null; //其他设置 this.index=this.DivBigImgObj.length-1; this.timeer=null; this.speed=3000;//切换速度 } /** * 初始化 */ SlideClass.prototype.Init=function(n){ this.SetBigMarginLeft(); this.SetBtn(); this.BindEvt(); this.ShowOne(); this.Paly(); } /** * 设置大图距离左边的位置 */ SlideClass.prototype.SetBigMarginLeft = function(){ var width = $(this.DivBigImgObj).width(); for (var i = 0; i < this.BigLiArr.length; i++) { this.SetSize(this.BigLiArr[i]); } } /*设置居中*/ SlideClass.prototype.SetSize=function(LiObj) { var theWidht=parseInt($(window).width(),10); var imgObj=$(LiObj).find("img").get(0); var width=parseInt($(imgObj).attr("oldW"),10); var height=parseInt($(imgObj).attr("oldH"),10); //alert(height); var nowHeight=parseInt($(imgObj).height(),10); var nowWidht=parseInt(width*nowHeight/height,10); var left=parseInt((theWidht-nowWidht)/2,10); //alert(theWidht); $(imgObj).css({"left":left+"px"}); } /** * 设置按钮 */ SlideClass.prototype.SetBtn = function(){ var width=parseInt(24 * this.BigLiArr.length, 10); var theHtml = "
"; for (var i = 0; i < this.BigLiArr.length; i++) { //theHtml += "
  • " + parseInt(i + 1, 10) + "
  • "; theHtml += "
  •  
  • "; } theHtml += "
    "; $(this.DivThumbObj).html(theHtml); //$(this.DivThumbObj).css({marginLeft:"-"+parseInt(width/2,10)+"px"}); this.ThumbLiObj = $(this.DivThumbObj).find("li"); $(this.ThumbLiObj[0]).addClass("onfocus"); } /** * 为大图及按钮绑定事件 */ SlideClass.prototype.BindEvt = function(){ var theObj = this; $(this.BigImgArr).hover(function(){ clearInterval(theObj.timeer); }, function(){ theObj.Paly(); }); $(this.ThumbLiObj).hover(function(){ clearInterval(theObj.timeer); theObj.index=parseInt($(this).attr("rel"),10); theObj.ShowOne(); theObj.Paly(); }, function(){ }); } /** * 播放 */ SlideClass.prototype.Paly=function(){ var theObj=this; this.timeer=setInterval(function(){theObj.ShowOne()},this.speed); } /** * 显示一个 */ SlideClass.prototype.ShowOne=function(){ $(this.BigLiArr[this.index]).fadeIn(800).siblings().fadeOut(800); $(this.ThumbLiObj).removeClass("onfocus"); $(this.ThumbLiObj[this.index]).addClass("onfocus"); if(this.index