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


Posted in Javascript onApril 22, 2011

效果预览如下:
基于mootools 1.3框架下的图片滑动效果代码
实现原理:
容器采用相对定位,图片采用绝对定位,当鼠标移动到相应的图片上,改变去left属性,用tween实现动画效果.

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

<div id="container"> 
<img src="//img.jbzj.com/file_images/article/201104/r_song1.jpg" alt="" /> 
<img src="//img.jbzj.com/file_images/article/201104/r_song2.jpg" alt="" /> 
<img src="//img.jbzj.com/file_images/article/201104/r_song3.jpg" alt="" /> 
<img src="//img.jbzj.com/file_images/article/201104/r_song4.jpg" alt="" /> 
<img src="//img.jbzj.com/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>后面,原因不解释!

Javascript 相关文章推荐
用js统计用户下载网页所需时间的脚本
Oct 15 Javascript
一个轻量级的javascript库 pj介绍
Dec 19 Javascript
JS实现时间格式化的方式汇总
Oct 16 Javascript
js使用eval解析json实例与注意事项分享
Jan 18 Javascript
javascript日期验证之输入日期大于等于当前日期
Dec 13 Javascript
BootStrap轻松实现微信页面开发代码分享
Oct 21 Javascript
微信小程序 PHP后端form表单提交实例详解
Jan 12 Javascript
jQuery实现ajax无刷新分页页码控件
Feb 28 Javascript
微信小程序实现上传图片功能
May 28 Javascript
webpack4 升级迁移的实现
Sep 12 Javascript
小程序开发中如何使用async-await并封装公共异步请求的方法
Jan 20 Javascript
JS实现点击发送验证码 xx秒后重新发送功能
Jul 30 Javascript
25个好玩的JavaScript小游戏分享
Apr 22 #Javascript
jQuery Ajax 实例全解析
Apr 20 #Javascript
基于jQuery的为attr添加id title等效果的实现代码
Apr 20 #Javascript
基于jquery的设置页面文本框 只能输入数字的实现代码
Apr 19 #Javascript
编写自己的jQuery插件简单实现代码
Apr 19 #Javascript
提升你网站水平的jQuery插件集合推荐
Apr 19 #Javascript
分享20款好玩的jQuery游戏
Apr 17 #Javascript
You might like
虫族 Zerg 历史背景
2020/03/14 星际争霸
如何使用php判断所处服务器操作系统的类型
2013/06/20 PHP
CodeIgniter框架过滤HTML危险代码
2014/06/12 PHP
thinkPHP+phpexcel实现excel报表输出功能示例
2017/06/06 PHP
解决在laravel中auth建立时候遇到的问题
2019/10/15 PHP
laravel框架之数据库查出来的对象实现转化为数组
2019/10/23 PHP
理解JSON:3分钟课程
2011/10/28 Javascript
javascript重写alert方法的实例代码
2013/03/29 Javascript
Javascript基础知识(二)事件
2014/09/29 Javascript
jQuery实现伸展与合拢panel的方法
2015/04/30 Javascript
assert()函数用法总结(推荐)
2017/01/25 Javascript
React Native时间转换格式工具类分享
2017/10/24 Javascript
Vue使用mixins实现压缩图片代码
2018/03/14 Javascript
分享5个好用的javascript文件上传插件
2018/09/16 Javascript
[02:40]DOTA2英雄基础教程 巨牙海民
2013/12/23 DOTA
centos 下面安装python2.7 +pip +mysqld
2014/11/18 Python
python实现2048小游戏
2015/03/30 Python
使用C#配合ArcGIS Engine进行地理信息系统开发
2016/02/19 Python
Python实现递归遍历文件夹并删除文件
2016/04/18 Python
python对象及面向对象技术详解
2016/07/19 Python
Python中的日期时间处理详解
2016/11/17 Python
Python实现的随机森林算法与简单总结
2018/01/30 Python
python 处理telnet返回的More,以及get想要的那个参数方法
2019/02/14 Python
pytorch实现Tensor变量之间的转换
2020/02/17 Python
python统计文章中单词出现次数实例
2020/02/27 Python
检测浏览器是否支持html5视频的代码
2013/03/28 HTML / CSS
DC Shoes荷兰官方网站:美国极限运动品牌
2019/10/22 全球购物
道路交通安全实施方案
2014/03/12 职场文书
弘扬雷锋精神演讲稿
2014/05/10 职场文书
寻找最美家庭活动方案
2014/08/20 职场文书
人事任命通知书
2015/04/21 职场文书
员工拾金不昧表扬稿
2015/05/05 职场文书
HTML页面滚动时部分内容位置固定不滚动的实现
2021/04/14 HTML / CSS
详解PHP用mb_string处理windows中文字符
2021/05/26 PHP
用JS写一个发布订阅模式
2021/11/07 Javascript
Win11如何启用启动修复 ? Win11执行启动修复的三种方法
2022/04/08 数码科技