专栏首页快乐八哥使用jQuery Tools scrollable注意事项

使用jQuery Tools scrollable注意事项

项目开发中一直使用jQuery Tools中scrollable插件,一直也只是停留在使用上,最多看文档实现如何调用它的prev(spped)和next(speed)等几个方法。因为都是要完成几张图片在首页轮流展示,开发人员和测试人员都没有去关注图片的播放顺序是否正确。今天测试人员开出了一个bug,说页面在第一次载入时,scrollable展示图片的顺序不对。显示的是最后一个,而且显示第二张图片时,实际图片是第二张图片,而不是第一张。因为很多情况下,我们会出现表示当前第几张图片的小icon,如下图:

问题来了,scrollable默认不是从第一张图片开始显示,而是:image 4->image 2->image3->image4。第一次不是显示的image 1。通过chrome develop tools,显示的cloned的元素。如下:

本身scrollable插件生成class为cloned的元素,是为了动画循环显示,但是在这里浏览器把它作为第一张图片显示了。

代码如下:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>jQuery Tools Scrollable使用注意事项</title>
    <!--jQuery Tools CDN-->
    <script src="http://cdn.jquerytools.org/1.2.7/full/jquery.tools.min.js"></script>
    <style type="text/css">
        #itemsContainer {
            margin:0 auto;
            width:600px;
            height:600px;
        }
        .scrollable {
            position:relative;
            overflow:hidden;
            width:430px;
            height:180px;
        }
            .scrollable .items {
                width:2000em;
                position:absolute;
            }
        .items div {
            float:left;
        }
    </style>
</head>
<body>
    <div id="itemsContainer">
        <!-- root element for scrollable -->
        <div class="scrollable" id="autoscroll">

            <!-- root element for the items -->
            <div class="items">

                <!-- image 1 -->
                <div>
                    <img src="images/google1.png" />
                    
                </div>

                <!-- image 2 -->
                <div>
                    <img src="images/google2.png" />
                </div>

                <!-- image 3 -->
                <div>
                    <img src="images/google3.png" />
                </div>
                <div>
                    <img src="images/google4.png" />
                </div>
            </div>

        </div>
    </div>
    <script type="text/javascript">
        $(document).ready(function () {
            
            $("#autoscroll").scrollable({ circular: true }).autoscroll({ autoplay: true });

            //setTimeout(function () {
            //    $("#autoscroll").scrollable({ circular: true }).autoscroll({ autoplay: true });
            //},2000);
        });
    </script>
</body>
</html>

目前修复的方式,延迟调用scrollable()方法。所以使用setTimeout()进行2秒的延迟操作。

将上面的代码改为:

setTimeout(function () {
$("#autoscroll").scrollable({ circular: true }).autoscroll({ autoplay: true });
},2000);

重新运行页面,发现正常。

参考网址:

http://jquerytools.org/demos/scrollable/index.html

http://jquerytools.org/documentation/scrollable/index.html#api

<!-- .csharpcode, .csharpcode pre { 	font-size: small; 	color: black; 	font-family: consolas, "Courier New", courier, monospace; 	background-color: #ffffff; 	/*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt  { 	background-color: #f4f4f4; 	width: 100%; 	margin: 0em; } .csharpcode .lnum { color: #606060; } -->

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • JavaScript中this关键字使用

    在Web开发中,前端掌握JavaScript,后台掌握PHP成为一个趋势。当然后台掌握C#/Java,当然还有Python,Ruby其中的一种,都是可以的。其实...

    八哥
  • 使用jQuery的animate方法制作滑动菜单

    周末看Ziv小威的博客《制作滑动条菜单,如何延时处理滑动效果,避免动画卡顿》,参见地址:http://www.cnblogs.com/zivxiaowei/p/...

    八哥
  • IE7下元素的 'padding-top' 遇到 'clear' 特性在某些情况下复制到 'padding-bottom'

    项目中使用的是DIV+CSS布局,有一个页面是同事完成的,这几天他请假有事。项目发现一个UI Bug。在IE7下,某一个Div的padding-top会让整个d...

    八哥
  • Delphi在Android下使用Java库的方法

     本文将以Android的USB串口通讯库为例,介绍Delphi如何在Android中使用Java的库。

    砸漏
  • JS中继承方式2

    用户7873631
  • 枪口对准Google无人车

    稍微了解无人车发展的人都知道,亚利桑那州是美国无人车政策最友好的测试基地,聚集了大批无人车公司的无人车,也是Waymo无人车试运营、正式商用的第一站。

    量子位
  • 微信小程序实例-摇一摇抽奖

    概述 前面我们讲了如何开始微信小程序搭建和一些组件的介绍。微信小组件和微信小程序入门 微信小程序目录 为了更好的理解小程序和小程序开发,我们首先来看一下项目的目...

    xiangzhihong
  • 微信小程序实例之摇一摇抽奖

    概述 前面我们讲了如何开始微信小程序搭建和一些组件的介绍。微信小组件和微信小程序入门 微信小程序目录 为了更好的理解小程序和小程序开发,我们首先来看一下项目的目...

    xiangzhihong
  • 【程序源代码】基于vue+element-ui的后台管理系统

    此项目是 vue + element-ui 构建的后台管理系统,是后台项目node-elm 的管理系统,所有的数据都是从服务器实时获取的真实数据,具有真实的注册...

    程序源代码
  • vue组件,可以通过npm引用的组件

    本文章通过实现一个vue-dialog的弹出层组件,然后附加说明如果发布此包到npm,且能被其他项目使用。 功能说明 多层弹出时,只有一个背景层。 弹出层嵌入内...

    sam dragon

扫码关注云+社区

领取腾讯云代金券