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 相关文章推荐
jquery 插件学习(三)
Aug 06 Javascript
javascript full screen 全屏显示页面元素的方法
Sep 27 Javascript
javascript实现完美拖拽效果
May 06 Javascript
使用OpenLayers3 添加地图鼠标右键菜单
Dec 29 Javascript
详解Bootstrap glyphicons字体图标
Jan 04 Javascript
javascript鼠标跟随运动3种效果(眼球效果,苹果菜单,方向跟随)
Oct 27 Javascript
jQueryUI Sortable 应用Demo(分享)
Sep 07 jQuery
webpack+vue+express(hot)热启动调试简单配置方法
Sep 19 Javascript
vue element table 表格请求后台排序的方法
Sep 28 Javascript
vue与iframe之间的信息交互的实现
Apr 08 Javascript
JavaScript监听一个DOM元素大小变化
Apr 26 Javascript
详解Anyscript开发指南绕过typescript类型检查
Sep 23 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
基于mysql的论坛(1)
2006/10/09 PHP
某大型网络公司应聘时的笔试题目附答案
2008/03/27 PHP
Notice: Undefined index: page in E:\PHP\test.php on line 14
2010/11/02 PHP
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
2014/07/01 PHP
PHP的Laravel框架结合MySQL与Redis数据库的使用部署
2016/03/21 PHP
Thinkphp框架中D方法与M方法的区别
2016/12/23 PHP
PHP实现抽奖功能实例代码
2020/06/30 PHP
jQuery DIV弹出效果实现代码
2009/07/03 Javascript
推荐20家国外的脚本下载网站
2011/04/28 Javascript
Jquery动态改变图片IMG的src地址示例
2013/06/25 Javascript
jquery中插件实现自动添加用户的具体代码
2013/11/15 Javascript
js实现点击左右按钮轮播图片效果实例
2015/01/29 Javascript
jQuery实现鼠标划过展示大图的方法
2015/03/09 Javascript
浅谈window对象的scrollBy()方法
2015/07/15 Javascript
js基于cookie方式记住返回页面用法示例
2016/05/27 Javascript
使用get方式提交表单在地址栏里面不显示提交信息
2017/02/21 Javascript
Vue.js实现文章评论和回复评论功能
2020/05/30 Javascript
在HTML文档中嵌入JavaScript的四种方法
2018/05/07 Javascript
详解vue引入子组件方法
2019/02/12 Javascript
javascript+css实现俄罗斯方块小游戏
2020/06/28 Javascript
[03:00]2018完美盛典_最佳英雄奖
2018/12/17 DOTA
python使用rabbitmq实现网络爬虫示例
2014/02/20 Python
Python常用的爬虫技巧总结
2016/03/28 Python
实例讲解Python编程中@property装饰器的用法
2016/06/20 Python
Python外星人入侵游戏编程完整版
2020/03/30 Python
python中set()函数简介及实例解析
2018/01/09 Python
Python continue继续循环用法总结
2018/06/10 Python
python爬虫之自动登录与验证码识别
2020/06/15 Python
python 读取二进制 显示图片案例
2020/04/24 Python
数学专业推荐信范文
2013/11/21 职场文书
商务主管岗位职责
2013/12/08 职场文书
保安岗位职责
2014/02/21 职场文书
2015年乡镇工作总结范文
2015/04/22 职场文书
学校趣味运动会开幕词
2016/03/04 职场文书
redis 查看所有的key方式
2021/05/07 Redis
uwsgi+nginx代理Django无法访问静态资源的解决
2021/05/10 Servers