手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >基于mootools 1.3框架下的图片滑动效果代码
基于mootools 1.3框架下的图片滑动效果代码
摘要:效果预览如下:实现原理:容器采用相对定位,图片采用绝对定位,当鼠标移动到相应的图片上,改变去left属性,用tween实现动画效果.代码分析...

效果预览如下:

基于mootools 1.3框架下的图片滑动效果代码1

实现原理:

容器采用相对定位,图片采用绝对定位,当鼠标移动到相应的图片上,改变去left属性,用tween实现动画效果.

代码分析:写一个picSlider类实现代码封装

复制代码 代码如下:

<div id="container">

<img src="http://files.jb51.net/file_images/article/201104/r_song1.jpg" alt="" />

<img src="http://files.jb51.net/file_images/article/201104/r_song2.jpg" alt="" />

<img src="http://files.jb51.net/file_images/article/201104/r_song3.jpg" alt="" />

<img src="http://files.jb51.net/file_images/article/201104/r_song4.jpg" alt="" />

<img src="http://files.jb51.net/file_images/article/201104/r_song5.jpg" alt="" />

</div>

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;}

JS:picSlider类

复制代码 代码如下:

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();

如果想直接在本地运行,请引入

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/mootools/1.3.1/mootools-yui-compressed.js"></script>

<script type="text/javascript" src="home.js"></script>这个脚本必须在<div><div>后面,原因不解释!

【基于mootools 1.3框架下的图片滑动效果代码】相关文章:

onmousewheel event 缩放图片效果

js实现精美的图片跟随鼠标效果实例

JS函数实现鼠标指向图片后显示大图代码

基于zepto的移动端轻量级日期插件--date

滚动效果

网页里控制图片大小的相关代码

JQuery分屏指示器图片轮换效果实例

基于JavaScript实现动态添加删除表格的行

JS+CSS实现的拖动分页效果实例

解决未知尺寸的图片撑破页面的问题

精品推荐
分类导航