制作列表的垂直向上循环滚动特效

这个主要就是利用了自定义动画animate()实现的文本列表循环滚动特效。下面就一起来看看具体操作吧:
1.需求说明:实现文本列表循环滚动特效;当光标移入时停止滚动,光标移开则继续。
2.方法:
(1)我们先完成HTML页面代码和CSS样式代码。在body内容里定义<h3>和无序列表,添加CSS规则,重点设置无序列表的父板快的宽高度,使它只能显示前三个列表项。参见代码:
body内容:

<body>
<h3>近七日畅销榜</h3>
<div id="book">
    <ul class="express">
        <li>傲慢与偏见</li>
        <li>玻璃球</li>
        <li>澳大利亚:王八渡嗨</li>
        <li>浪漫地中海</li>
        <li>欧陆风情</li>
        <li>疯狂的动物园</li>
        <li>小疯子</li>
    </ul>
</div>
</body>

css样式:

 <style>
        ul{
            list-style: none;
        }
        ul li{
            height: 25px;
            line-height: 25px;
        }
        h3{
            width: 212px;
            height: 30px;
            line-height: 30px;
            text-align: center;
            background-color: #c33;
        }
        div#book{
            overflow: hidden;/*隐藏溢出部分*/
            height: 75px;
            padding: 5px;
            border: 1px solid red;
            width: 200px;
        }
    </style>

(2)在HTML文件中导入jQuery框架,并添加<script></script>脚本标签。声明函数movePrice(),在函数体中声明变量stopscroll表示是否停止滚动,声明变量margintop保存第一个列表项的上外边距值,初始值为0。如果光标没有移入列表中,那么使用Window对象的setInterval方法每隔50秒设置第一个列表项的“margin-top”属性值,从而实现向上滚动的特效。在函数中为列表的鼠标移入移出绑定事件,将stopscroll赋值为true表示停止滚动,赋值为false表示继续滚动:

 $(".express").mouseover(function(){
                stopSpcroll = true;
            }).mouseout(function(){
                stopSpcroll = false;
            })

最后调用函数。
整体参见代码如下:

  <script>
        function moveBook(){
            var stopSpcroll = false;
            var margintop = 0;
            setInterval(function(){
                if(stopSpcroll) return;
                $(".express").children("li").first().animate({"margin-top":
                        margintop--},0,function(){
                    var $first = $(this);
                    if(!$first.is(":animated")){
                        //判断是否存在动画状态
                        //减小的值达到第一个列表项的高度时
                        if((-margintop) > $first.height()){
                            $first.css({"margin-top":0}).appendTo($(".express"));
                            margintop=0;
                        }
                    }
                })
            },50);
            $(".express").mouseover(function(){
                stopSpcroll = true;
            }).mouseout(function(){
                stopSpcroll = false;
            })
        }
        $(function(){
            //书籍的畅销排行榜循环向上滚动
            moveBook();
        });
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,481评论 0 5
  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 3,548评论 1 11
  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 4,092评论 0 0
  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 5,163评论 0 21
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,568评论 0 17