首先需要一个容器,设置它的overflow为hidden,position为relative; 容器里面还要一个滑动对象,设置它的position为absolute; 在initialize()函数里初始化一些属性。 在切换之前先执行Start()函数,进行相关设置, 主要是设置Index属性(索引)和_target属性(目标值): 复制代码 代码如下:if(this.Index < 0){ this.Index = this._count - 1; } else if (this.Index >= this._count){ this.Index = 0; } this._target = -1 * this._parameter * this.Index; 接着就执行Move()函数开始移动了,原理通过设置滑动对象的top(或left)来做出移动的效果, 而减速的效果就需要执行GetStep()函数来获取步长: 复制代码 代码如下:var iStep = (iTarget - iNow) / this.Step;用目标值减当前值再除以一个参数,得到步长, 这样取得的步长在当前值越接近目标值时会越来越小,也做成了减速的效果, 然后在top(或left)的设置中加上这个步长,并设置定时器继续Move(),直到到达目标值:复制代码 代码如下:this._slider.style[style] = (iNow + iStep) + "px"; this._timer = setTimeout(function(){ oThis.Move(); }, this.Time);下面例子里的容器结构: 复制代码 代码如下:<div class="container" id="idTransformView"> <ul class="slider" id="idSlider"> <li><img src="http://shundebk.cn/temp/1.jpg"/></li> <li><img src="http://shundebk.cn/temp/2.jpg"/></li> <li><img src="http://shundebk.cn/temp/3.gif"/></li> </ul> <ul class="num" id="idNum"> <li>1</li> <li>2</li> <li>3</li> </ul> </div> 要美观的话需要css设置一下: 复制代码 代码如下:.container, .container *{margin:0; padding:0;} .container{width:408px; height:168px; overflow:hidden;} .slider{position:absolute;} .slider li{ list-style:none;display:inline;} .slider img{ width:408px; height:168px; display:block;} .slider2{width:2000px;} .slider2 li{float:left;} .num{ position:absolute; right:5px; bottom:5px;} .num li{ float: left; color: #FF7300; text-align: center; line-height: 16px; width: 16px; height: 16px; font-family: Arial; font-size: 12px; cursor: pointer; overflow: hidden; margin: 3px 1px; border: 1px solid #FF7300; background-color: #fff; } .num li.on{ color: #fff; line-height: 21px; width: 21px; height: 21px; font-size: 16px; margin: 0 1px; border: 0; background-color: #FF7300; font-weight: bold; }样式的设置跟程序也有一定关系,例如宽和高,这里就不说明了。 接着就可以实例化了: 复制代码 代码如下:var tv = new TransformView ("idTransformView", "idSlider", 168, 3, { onStart : function(){ Each(objs, function(o, i) { o.className = tv.Index == i ? "on" : ""; }) }//按钮样式 });这里主要有4个参数,分别是容器对象、滑动对象、切换参数和切换数量。 当程序是上下切换时,切换参数切换的高度,当左右切换时,是切换的宽度。 切换数量就是有多少个切换对象了,例如上面的例子就是3个。 最后的参数是一些设置: 属性: 默认值//说明 Up: true,//是否向上(否则向左) Step: 5,//滑动变化率 Time: 10,//滑动延时 Auto: true,//是否自动转换 Pause: 2000,//停顿时间(Auto为true时有效) onStart: function(){},//开始转换时执行 onFinish: function(){}//完成转换时执行 例子里设置了onStart属性,作用是在切换开始时,设置按钮的样式
推荐阅读
javascript下IE与FF兼容函数收集
添加事件: 复制代码 代码如下://比如addListener(document,"click",function(){alert('阿会楠')}) function addListener(element,e,fn){ if(element.addEventListener){ element.addEventListener(e,fn,false); >>>详细阅读
本文标题:JavaScript 图片切换展示效果alibaba拓展版第1/3页
地址:http://www.17bianji.com/kaifa2/JS/29415.html
1/2 1