阅读量:0
基于mootools 1.3框架下的图片滑动效果代码-Mootools
基于mootools 1.3框架下的图片滑动效果代码
实现原理
容器采用相对定位,图片采用绝对定位,当鼠标移动到相应的图片上时,改变left
属性,使用tween
实现动画效果。
CSS样式
#container { width: 459px; height: 200px; background-color: black; position: relative; overflow: hidden; } #container img { position: absolute; width: 360px; height: 300px; display: block; top: 0; width: 280px; height: 200px; }
JavaScript代码
var picSlider = new Class({ Implements: [Options], options: { container: "container", imgsWidth: 0.6, }, initialize: function (options) { this.setOptions(options); this.container = $(this.options.container); this.triggers = this.container.getElementsByTagName("img"); this.containerWidth = this.container.getSize().x; // get container's width this.imgWidth = this.containerWidth * this.options.imgsWidth; this.aveWidth = this.containerWidth / this.triggers.length; this.newAveWidth = (this.containerWidth this.imgWidth) / (this.triggers.length 1); this.setImgsInit(); // 初始化图片展示 this.start(); }, setImgsInit: function () { for (var i = 0; i < this.triggers.length; i++) { this.triggers[i].setStyle("left", i * this.aveWidth); } }, start: function () { for (var i = 0; i < this.triggers.length; i++) { this.triggers[i].set("tween", { property: "left", duration: 300, fps: 80 }); // 为每个元素设置动画参数 this.triggers[i].addEvent("mouseover", this.slider.bindWithEvent(this, [i])); // 绑定slider函数 } }, slider: function (e, at) { e.stop(); for (var i = 1; i < this.triggers.length; i++) { if (i <= at) { this.triggers[i].get("tween").start(i * this.newAveWidth); } else { this.triggers[i].get("tween").start(this.imgWidth + (i 1) * this.newAveWidth); } } } }); // 创建实例并运行 new picSlider();
相关问题与解答栏目
Q1:tween
在这段代码中的作用是什么?
A1:tween
用于实现平滑的过渡动画效果,通过设置property
(如left
)、duration
(动画持续时间)和fps
(每秒帧数),可以控制元素的动画行为,从而实现图片滑动的效果。
Q2: 如何调整图片滑动的速度?
A2: 可以通过调整tween
中的duration
参数来改变动画的持续时间,从而控制图片滑动的速度,数值越大,滑动速度越慢;数值越小,滑动速度越快。
小伙伴们,上文介绍了“基于mootools 1.3框架下的图片滑动效果代码-Mootools”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。