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

 更新时间:2012年04月20日 00:18:07   作者:  
把图片们用ul之类的包起来,并设置float。然后设置这个ul本身为absolute定位,其父标签用relative定位。通过设置ul的left或top值,实现图片队列的滚动效果
先说一种最普遍的思路:

把图片们用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.jb51.net/"><img src="../s1.jpg"/></a></li>
<li><a href="http://jb51.net/"><img src="../s2.jpg"/></a></li>
<li><a href="http://baidu.com/"><img src="../s3.jpg"/></a></li>
<li><a href="http://sc.jb51.net/"><img src="../s4.jpg"/></a></li>
</ul>

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

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

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

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

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

相关文章

  • 由 element.appendChild(newNode) ,谈开去

    由 element.appendChild(newNode) ,谈开去

    由 element.appendChild(newNode) ,谈开去...
    2006-11-11
  • JS如何显示防盗链的外站图片技巧示例

    JS如何显示防盗链的外站图片技巧示例

    通常在开发测试环节,一些资源图片会出现防盗链的错误提示,本文就通过前端基础技术,实现基本的图片跨站显示效果,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • layui select动态添加option的实例

    layui select动态添加option的实例

    下面小编就为大家分享一篇layui select动态添加option的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • 原生js实现轮播图

    原生js实现轮播图

    这篇文章主要为大家详细介绍了原生js实现轮播图的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • js实现各种复制到剪贴板的方法(分享)

    js实现各种复制到剪贴板的方法(分享)

    下面小编就为大家带来一篇js实现各种复制到剪贴板的方法(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • 前端传递参数时form-data和json的区别详解

    前端传递参数时form-data和json的区别详解

    前端可以通FormData对象实现表单形式提交数据,下面这篇文章主要给大家介绍了关于前端传递参数时form-data和json区别的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • Javascript调试脚本的经验之谈

    Javascript调试脚本的经验之谈

    随着用JavaScript编程的深入,你会开始理解那些JavaScript给出的不透明错误信息。一旦你理解了你常犯的一般性错误,你就会很快知道怎样避免它们,这样你写的代码中的错误将越来越少。
    2008-10-10
  • 判断滚动条滑到底部触发事件(实例讲解)

    判断滚动条滑到底部触发事件(实例讲解)

    下面小编就为大家带来一篇判断滚动条滑到底部触发事件的实例讲解。具有很好的参考价值。一起跟随小编过来看看吧,希望对大家有所帮助
    2017-11-11
  • JavaScript实现点击改变图片形状(transform应用)

    JavaScript实现点击改变图片形状(transform应用)

    这篇文章主要为大家详细介绍了JavaScript实现点击改变图片形状,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • Javascript实现秒表计时游戏

    Javascript实现秒表计时游戏

    这篇文章主要为大家详细介绍了Javascript实现秒表计时游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05

最新评论