图片滑动切换效果.docxVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图片滑动切换效果

JavaScript 图片滑动切换效果序一(08/07/06)看到alibaba的一个图片切换效果,感觉不错,想拿来用用。但代码一大堆的,看着昏,还是自己来吧。由于有了做图片滑动展示效果的经验,做这个就容易得多了。序二(09/03/19)自写了Tween缓动之后就很想重新写过这个效果,近来有点时间,终于可以动手了。除了改成Tween缓动,也改进了程序算法,不过原理还是一样的。程序说明原理就是通过不断设置滑动对象的left(水平切换)和top(垂直切换)来实现图片切换的动态效果。首先需要一个容器,程序会自动设置容器overflow为hidden,如果不是相对或绝对定位会同时设置position为relative,滑动对象会设置为绝对定位:var?p?=?CurrentStyle(this._container).position;p?==?relative?||?p?==?absolute?||?(this._container.style.position?=?relative);this._container.style.overflow?=?hidden;this._slider.style.position?=?absolute;如果没有设置Change切换参数属性,会自动根据滑动对象获取:this.Change?=?this.options.Change???this.options.Change?:?this._slider[bVertical???offsetHeight?:?offsetWidth]?/?this._count;执行Run方法就会开始进入切换,其中有一个可选参数用来重新设置要切换的图片索引:index?==?undefined??(index?=?this.Index);index??0??(index?=?this._count?-?1)?||?index?=?this._count??(index?=?0);之后就到设置使用tween缓动时需要的参数了,包括_target(目标值)、_t(时间)、_b(初始值)和_c(变化量):this._target?=?-Math.abs(this.Change)?*?(this.Index?=?index);this._t?=?0;this._b?=?parseInt(CurrentStyle(this._slider)[this.options.Vertical???top?:?left]);this._c?=?this._target?-?this._b;还有Duration(持续时间)是自定义属性。参数设置好后就执行Move程序开始移动了。里面很简单,首先判断_c是否有值(等于0表示不需要移动)和_t是否到达Duration,未满足条件就继续移动,否则直接移动到目标值并进行下一次切换:if?(this._c??this._t??this.Duration)?{?this.MoveTo(Math.round(this.Tween(this._t++,?this._b,?this._c,?this.Duration)));?this._timer?=?setTimeout(Bind(this,?this.Move),?this.Time);}else{?this.MoveTo(this._target);?this.Auto??(this._timer?=?setTimeout(Bind(this,?this.Next),?this.Pause));}?使用说明实例化需要3个参数,分别是容器对象,滑动对象和切换数量,之后可以直接执行Run方法运行:new?SlideTrans(idContainer,?idSlider,?3).Run();还有以下可选属性:Vertical:?true,//是否垂直方向(方向不能改)Auto:??true,//是否自动Change:??0,//改变量Duration:?50,//滑动持续时间Time:??10,//滑动延时Pause:??2000,//停顿时间(Auto为true时有效)onStart:?function(){},//开始转换时执行onFinish:?function(){},//完成转换时执行Tween:??Tween.Quart.easeOut//tween算子其中Vertical初始化后就不能修改,Tween算子可参照这里的缓动效果选择(实例中选了其中3个)。还有提供了以下方法:Next: 切换下一个Previous: 切换上一个Stop: 停止自动切换还有上面说到的Run?程序代码var?SlideTrans?=?function(container,?slider,?count,?option

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档