jquery實現名單滾動


轉:http://www.qdfuns.com/notes/25341/917d9cb031f835a086dd445b77b6e04e.html

介紹:
記錄滾動特效。
就是那一排文字不停地滾啊滾啊滾得特效,在抽獎活動結果顯示啦、報名結果顯示上用的非常頻繁。當年總是希望在抽獎結果面板上看到自己的名字,然而二十幾年了都沒見過一次2333,這個活動特效可以讓結果顯示看起來更加靈動,接下來我就說一下這個特效得實現方法。

思路:
-用一個div包裹住ul,並設置溢出外層div 的都隱藏(overflow為hidden);
-設置他們為相對定位,用top值來控制ul向上移動;
-每次向上移動一個li的高度后,將第一個li插入到列表最后端。
-這樣就可以使記錄不斷向上移動,制造列表滾動的效果。
(PS:這里使用的是模擬數據,在真實應用場景中,可用Ajax獲取后端真實數據再插入DOM中。)

 

代碼如下:

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <title>記錄滾動</title>

    <style>
    .panel{
        width:340px;
        padding:10px;
        text-align: center;
        background-color:#FF3C3C;
        border-radius: 0 0 8px 8px;
     }
    h2{
        color:#fff;
        margin: 5px;
    }
    .activity{
        width: 300px;
        margin: 0 auto;
        position: relative;
        overflow: hidden;
        height: 165px;
        background-color: #fff;
        border-radius: 5px;
    }
    .activity ul{
        top: -15px;
        padding: 0;
        color: #666;
        position: relative;
    }
    .activity li{
        height: 34px;
               padding:0;
        font-size: 12px;
        line-height: 34px;
                list-style: none;
        border-bottom: 1px dotted #d2d2d2;
    }
    </style>
    </head>
    
    <body>
      <div class="panel">
        <h2>活動動態</h2>
        <div class="activity" id="J_Activity">
            <ul>
                <li>user1 獲得了7折優惠券</li>
                <li>user2 獲得了8折優惠券</li>
                <li>user3 獲得了7折優惠券</li>
                <li>user4 獲得了5折優惠券</li>
                <li>user5 獲得了4折優惠券</li>
            </ul>
        </div>
      </div>
    </body>
    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.js"></script>
    <script type="text/javascript" charset="utf-8">
    $(function () {
        var listPanel = $('#J_Activity ul');
        var z = 0;//向上滾動top值
        function up() {//向上滾動
            listPanel.animate({//中獎結果
                'top': (z - 35) + 'px'
            }, 1500, 'linear', function () {
                listPanel.css({'top': '0px'})
                .find("li:first").appendTo(listPanel);
                up();
            });
        }
        up();
    });
    </script>
</html>

 

效果如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM