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 相关文章推荐
一个对于js this关键字的问题
Jan 09 Javascript
jQuery中$.each使用详解
Jan 29 Javascript
JQuery在循环中绑定事件的问题详解
Jun 02 Javascript
Node.js中防止错误导致的进程阻塞的方法
Aug 11 Javascript
JS实现的手机端精简幻灯片效果
Sep 05 Javascript
BootStrap 图标icon符号图标glyphicons不正常显示的快速解决办法
Dec 08 Javascript
微信小程序开发(二)图片上传+服务端接收详解
Jan 11 Javascript
JS实现验证码倒计时的注册页面
Jan 02 Javascript
微信小程序多音频播放进度条问题
Aug 28 Javascript
关于Layui Table隐藏列问题
Sep 16 Javascript
JavaScript使用localStorage存储数据
Sep 25 Javascript
js数组中去除重复值的几种方法
Aug 03 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
百度ping方法使用示例 自动ping百度
2014/01/26 PHP
php查询ip所在地的方法
2014/12/05 PHP
PHP实现的曲线统计图表示例
2016/11/10 PHP
PHP实现Session入库/存入redis的方法
2017/05/04 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
2017/05/20 PHP
二行代码解决全部网页木马
2008/03/28 Javascript
JS数组去重与取重的示例代码
2014/01/24 Javascript
jQuery 2.0.3 源码分析之core(一)整体架构
2014/05/27 Javascript
HTML+CSS+JS实现完美兼容各大浏览器的TABLE固定列
2015/04/26 Javascript
JavaScript中reduce()方法的使用详解
2015/06/09 Javascript
JS组件Bootstrap Select2使用方法解析
2016/05/30 Javascript
Angularjs通过指令监听ng-repeat渲染完成后执行脚本的方法
2016/12/31 Javascript
js图片延迟加载(Lazyload)三种实现方式
2017/03/01 Javascript
浅谈在react中如何实现扫码枪输入
2018/07/04 Javascript
Bootstrap 模态框自定义点击和关闭事件详解
2018/08/10 Javascript
JS实现的简单分页功能示例
2018/08/23 Javascript
微信小程序实现无限滚动列表
2020/05/29 Javascript
[02:09]EHOME夺得首届辉夜杯冠军—现场颁奖仪式
2015/12/28 DOTA
Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法
2016/04/12 Python
简单了解Django模板的使用
2017/12/20 Python
python3读取csv和xlsx文件的实例
2018/06/22 Python
python中从str中提取元素到list以及将list转换为str的方法
2018/06/26 Python
Python API 自动化实战详解(纯代码)
2019/06/11 Python
pandas 强制类型转换 df.astype实例
2020/04/09 Python
python+requests实现接口测试的完整步骤
2020/10/27 Python
把富文本的回车转为br标签
2019/08/09 HTML / CSS
GoPro摄像机美国官网:美国运动相机厂商
2018/07/03 全球购物
2014年妇女工作总结
2014/12/06 职场文书
黄河绝恋观后感
2015/06/08 职场文书
幼儿园庆元旦主持词
2015/07/06 职场文书
创业计划书之餐饮馄饨店
2019/07/18 职场文书
python基础学习之递归函数知识总结
2021/05/26 Python
python如何利用traceback获取详细的异常信息
2021/06/05 Python
整理Python中常用的conda命令操作
2021/06/15 Python
Python利用FlashText算法实现替换字符串
2022/03/31 Python
Golang连接并操作MySQL
2022/04/14 MySQL