javascript 另一种图片滚动切换效果思路


Posted in Javascript onApril 20, 2012

先说一种最普遍的思路:

把图片们用ul之类的包起来,并设置float。然后设置这个ul本身为absolute定位,其父标签用relative定位。通过设置ul的left或top值,实现图片队列的滚动效果

特点:

只操作一个html元素(即上文的ul),对系统开销小;滚到头会回滚;从大序号滚动到小序号也会回滚;从最后序号滚动到第一个,会“咻”的一下把所有中间的图片也路过一次。

另一种思路就是我在XScroll.js里实现的思路,所有图片用绝对定位。具体看那篇文章吧。

XScroll.js完成后,我始终觉得他的系统消耗是个问题,因为他实现一个图片切换基本上都是同时操作两张图片。所以我想写一个精简版的,但又不想要我文首说那种最普通的。

后来我无意在土豆女性频道发现了另一种图片滚动切换的实现思路。

他的特点是:

无论从哪个序号跳到哪个序号,都只滚动一个步长。比如从1到2,或从1跳到到3,都只滚动一个步长。即使中间有其他图片,也不会出现;当然,滚到头也会回滚,但回滚也是只有一个步长。

这个效果看起来很奇妙,我研究了一下他的html,发现实现方式比我的XScroll.js要简便的多。

<ul id="idSlider2"> 
<li style=""><a href="http://office.3water.com/"><img src="../s1.jpg"/></a></li> 
<li><a href="http://3water.com/"><img src="../s2.jpg"/></a></li> 
<li><a href="http://baidu.com/"><img src="../s3.jpg"/></a></li> 
<li><a href="http://sc.3water.com/"><img src="../s4.jpg"/></a></li> 
</ul>

html结构,很普通;前面的定位跟最普遍的那个思路一样,都是所有图片均设置float:left。但JS里面有蹊跷:只设置当前图片为显示,其余图片隐藏,当要滚动时,显示出下一张图片,并判断下一张图片是在当前图片前面还是后面:在后面就往左滚,在前面就回滚。

由于所有图片都设置了float,所以当任意两张图片显示出来的时候,他们会因为float的原因紧紧靠在一起,这样,就不用额外担心图片的定位问题了。

而且,这样一来,也只用操作图片容器(即那个ul),而不用操作单张图片,节省系统资源。

我觉得这种思路很妙,简单大气又节约,所以我写了一个XScroll2.js,来记录这个效果,感觉还很不错哈。

有兴趣的朋友可以看XScroll2.js的示例页,仿的是拍拍网首页的图片切换——因为他的效果也是上面说的这种。不过不知道能坚持看到文末的同学有多少呢。。。

Javascript 相关文章推荐
javascript强大的日期函数代码分享
Sep 04 Javascript
jquery插件之定时查询待处理任务数量
May 01 Javascript
浅谈Javascript中深复制
Dec 01 Javascript
通用无限极下拉菜单的实现代码
May 31 Javascript
jQuery css() 方法动态修改CSS属性
Sep 25 Javascript
Bootstrap基本插件学习笔记之轮播幻灯片(23)
Dec 08 Javascript
原生javascript实现读写CSS样式的方法详解
Feb 20 Javascript
利用JS制作万年历的方法
Aug 16 Javascript
JS遍历JSON数组及获取JSON数组长度操作示例【测试可用】
Dec 12 Javascript
Vue组件内部实现一个双向数据绑定的实例代码
Apr 04 Javascript
jquery实现拖拽添加元素功能
Dec 01 jQuery
ztree+ajax实现文件树下载功能
May 18 Javascript
分享一个自定义的console类 让你不再纠结JS中的调试代码的兼容
Apr 20 #Javascript
浏览器解析js生成的html出现样式问题的解决方法
Apr 16 #Javascript
基于jquery的不规则矩形的排列实现代码
Apr 16 #Javascript
JavaScript打开word文档的实现代码(c#)
Apr 16 #Javascript
jQuery UI Autocomplete 1.8.16 中文输入修正代码
Apr 16 #Javascript
Moment.js 不容错过的超棒Javascript日期处理类库
Apr 15 #Javascript
5个最佳的Javascript日期处理类库分享
Apr 15 #Javascript
You might like
当海贼王变成JOJO风
2020/03/02 日漫
关于时间计算的结总
2006/12/06 PHP
php数组函数序列 之shuffle()和array_rand() 随机函数使用介绍
2011/10/29 PHP
解析php扩展php_curl.dll不加载的解决方法
2013/06/26 PHP
PHP正则验证Email的方法
2015/06/15 PHP
php实现的redis缓存类定义与使用方法示例
2017/08/09 PHP
this和执行上下文实现代码
2010/07/01 Javascript
鼠标放在图片上显示大图的JS代码
2013/03/26 Javascript
如何在JavaScript中实现私有属性的写类方式(二)
2013/12/04 Javascript
JavaScript如何实现对数字保留两位小数一位自动补零
2015/12/18 Javascript
js和jQuery设置Opacity半透明 兼容IE6
2016/05/24 Javascript
js友好的时间返回函数
2016/08/24 Javascript
整理关于Bootstrap警示框的慕课笔记
2017/03/29 Javascript
微信小程序swiper组件用法实例分析【附源码下载】
2017/12/07 Javascript
Vue源码解析之数组变异的实现
2018/12/04 Javascript
ES6中的迭代器、Generator函数及Generator函数的异步操作方法
2019/05/12 Javascript
微信小程序云开发如何实现数据库自动备份实现
2019/08/16 Javascript
vue计算属性+vue中class与style绑定(推荐)
2020/03/30 Javascript
[06:30]DOTA2英雄梦之声_第15期_死亡先知
2014/06/21 DOTA
Python常见排序操作示例【字典、列表、指定元素等】
2018/08/15 Python
python安装pywin32clipboard的操作方法
2019/01/24 Python
Python3实现的简单三级菜单功能示例
2019/03/12 Python
Python使用matplotlib 模块scatter方法画散点图示例
2019/09/27 Python
python  ceiling divide 除法向上取整(或小数向上取整)的实例
2019/12/27 Python
浅析两列自适应布局的3种思路
2016/05/03 HTML / CSS
Banana Republic英国官网:香蕉共和国,GAP集团旗下偏贵族风
2018/04/24 全球购物
酒店总经理助理岗位职责
2014/02/01 职场文书
本科毕业生专业自荐书范文
2014/02/05 职场文书
面临毕业的毕业生自荐书范文
2014/02/05 职场文书
电子商务专业求职信
2014/03/08 职场文书
法人委托书范本格式
2014/09/15 职场文书
2015年机关纠风工作总结
2015/05/15 职场文书
帝企鹅日记观后感
2015/06/10 职场文书
2015大学生暑假调查报告
2015/07/13 职场文书
交通安全主题班会
2015/08/12 职场文书
Redis源码阅读:Redis字符串SDS详解
2021/07/15 Redis