文字列表无缝滚动

 

 

<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>文字列表无缝滚动</title>
    <style>
    body,ul,li {margin:0;padding:0;}
    ul {list-style:none;}
    .list {width:250px;height:300px;position:relative;margin:50px auto;overflow:hidden;background-color:#f60;color:#fff;border:1px solid #f40;border-radius:3px;}
    .list ul {width:100%;position:absolute;top:0;left:0;}
    .list li {height:35px;padding:0 20px;margin:0 10px;border-top:1px solid #f70;border-bottom:1px solid #f50;font:14px/35px Microsoft Yahei;}
    </style>
</head>
<body>


<div id="list" class="list">
    <ul>
        <li>001</li>
        <li>002</li>
        <li>003</li>
        <li>004</li>
        <li>005</li>
        <li>006</li>
        <li>007</li>
        <li>008</li>
        <li>009</li>
        <li>010</li>
        <li>011</li>
        <li>012</li>
        <li>013</li>
        <li>014</li>
        <li>015</li>
        <li>016</li>
        <li>017</li>
        <li>018</li>
        <li>019</li>
        <li>020</li>
    </ul>
</div>


<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script>
    $(function(){
        var $list = $("#list");
        var $ul = $list.find("ul");
        $ul.append($ul.html());
        var height = parseInt($ul.height());
        var timer = null;
        var i = 0;

        function marquee(){
            i--;
            if (-i >= height/2){
                i = 0;
            }
            $ul.css("top", i + "px");
        }
        timer = setInterval(marquee, 20);
        $list.on({
            mouseover: function(){
                clearInterval(timer);
            },
            mouseout: function(){
                timer = setInterval(marquee, 20);
            }
        });
    });
</script>
</body>
</html>

 

 

 

 

posted @ 2013-12-02 16:00  赵小磊  阅读(288)  评论(0)    收藏  举报
回到头部