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库(迷你版)--自建js库总结
Nov 21 Javascript
js 如何实现对数据库的增删改查
Nov 23 Javascript
获取元素距离浏览器周边的位置的方法getBoundingClientRect
Apr 17 Javascript
禁止空格提交表单的js代码
Nov 17 Javascript
jQuery Ajax使用实例
Apr 16 Javascript
js数组常见操作及数组与字符串相互转化实例详解
Nov 10 Javascript
浅谈js之字面量、对象字面量的访问、关键字in的用法
Nov 20 Javascript
javascript简写常用的12个技巧(可以大大减少你的js代码量)
Mar 28 Javascript
详解Vue2.0 事件派发与接收
Sep 05 Javascript
使用pkg打包ThinkJS项目的方法步骤
Dec 30 Javascript
JS实现烟花爆炸效果
Mar 10 Javascript
《javascript设计模式》学习笔记五:Javascript面向对象程序设计工厂模式实例分析
Apr 08 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
getJSON跨域SyntaxError问题分析
2014/08/07 PHP
学习php设计模式 php实现工厂模式(factory)
2015/12/07 PHP
PHP 读取文本文件内容并分页显示
2016/01/02 PHP
XML的代替者----JSON
2007/07/21 Javascript
jQuery 1.2.x 升? 1.3.x 注意事项
2009/05/06 Javascript
修复IE9&amp;safari 的sort方法
2011/10/21 Javascript
基于JavaScript实现继承机制之调用call()与apply()的方法详解
2013/05/07 Javascript
jquery实现ajax提交form表单的方法总结
2014/03/03 Javascript
基于jQuery实现的扇形定时器附源码下载
2015/10/20 Javascript
Angular2 (RC5) 路由与导航详解
2016/09/21 Javascript
Jquery给当前页或者跳转后页面的导航栏添加选中后样式的实例
2016/12/08 Javascript
Vue 过渡(动画)transition组件案例详解
2017/01/22 Javascript
Vue.js 60分钟快速入门教程
2017/03/28 Javascript
JS实现多张图片预览同步上传功能
2017/06/23 Javascript
详解vue + vuex + directives实现权限按钮的思路
2017/10/24 Javascript
vux uploader 图片上传组件的安装使用方法
2018/05/15 Javascript
vue引用js文件的多种方式(推荐)
2018/05/17 Javascript
react在安卓中输入框被手机键盘遮挡问题的解决方法
2018/09/03 Javascript
详解JS中统计函数执行次数与执行时间
2018/09/04 Javascript
使用NestJS开发Node.js应用的方法
2018/12/03 Javascript
Python3实现爬取简书首页文章标题和文章链接的方法【测试可用】
2018/12/11 Python
详解pandas的外部数据导入与常用方法
2019/05/01 Python
python中的单引号双引号区别知识点总结
2019/06/23 Python
python GUI库图形界面开发之PyQt5打开保存对话框QFileDialog详细使用方法与实例
2020/02/27 Python
Python装饰器用法与知识点小结
2020/03/09 Python
python编写实现抽奖器
2020/09/10 Python
浏览器实现移动端高性能css3动画(开启gpu加速)
2013/12/23 HTML / CSS
html5 datalist标签使用示例(自动完成组件)
2014/05/04 HTML / CSS
汽车技术服务与营销专业在籍生自荐信
2013/09/28 职场文书
办加油卡单位介绍信
2014/01/09 职场文书
四年大学自我鉴定
2014/02/17 职场文书
二年级评语大全
2014/04/23 职场文书
2015年城市管理工作总结
2015/05/23 职场文书
运动会加油稿50字
2015/07/21 职场文书
运动会宣传稿100字
2015/07/23 职场文书
《绝招》教学反思
2016/02/20 职场文书