前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于jQuery的公告无限循环滚动实现代码

基于jQuery的公告无限循环滚动实现代码

作者头像
王小婷
发布2018-12-21 16:36:38
3.6K0
发布2018-12-21 16:36:38
举报
文章被收录于专栏:编程微刊编程微刊编程微刊

基于jQuery的公告无限循环滚动实现代码,效果如下,多用于pc端电商网站之中不断的循环更新的公告消息。

写一个简单的小demo:

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
        <title>基于jQuery的公告无限循环滚动实现代码</title>
        <style>
            * {
                margin: 0;
                padding: 0;
            }
            
            li {
                list-style: none;
            }
            
            body {
                line-height: 1.5;
                font-size: 14px;
            }
            
            .scroll {
                display: inline-block;
                overflow: hidden;
                position: relative;
                height: 50px;
            }
            
            .scroll ul {
                transform: translateY(0);
            }
            
            .animate {
                -webkit-transition: all .3s ease-out;
            }
            
            .scroll li {
                overflow: hidden;
                display: -webkit-box;
                margin-left: 10px;
                width: 90%;
                height: 50px;
                line-height: 30px;
                color: #333;
                text-overflow: ellipsis;
                -webkit-line-clamp: 1;
                -webkit-box-orient: vertical;
                white-space: normal;
            }
            
            .scroll li  img{
                margin-top: 20px;
                margin-right: 12px;
                width: 12px;
                height: 12px;
                
            }
        </style>

    </head>

    <body>
        <div class="scroll">
            <ul>
                <li><img src="message.png" /><span>前端妹子是我吗</span></li>
                <li><img src="message.png" />对呀,我就是前端妹子啊</li>
                <li><img src="message.png" />哈哈哈你是谁呀</li>
                <li><img src="message.png" />你猜猜我是哪个</li>
            </ul>
        </div>
    </body>
    <script src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
    
    <script>
        $(function() {
            var scrollDiv = $(".scroll"),
                $ul = scrollDiv.find("ul"),
                $li = scrollDiv.find("li"),
                $length = $li.length,
                $liHeight = $li.height(),
                num = 0;

            if(scrollDiv.length == 0) {
                return;
            }

            if($length > 1) {
                $ul.append($li.eq(0).clone());
                setInterval(
                    function() {
                        num++;
                        $ul.addClass("animate").css("-webkit-transform", "translateY(-" + $liHeight * (num) + "px)");
                        setTimeout(
                            function() {
                                if(num == $length) {
                                    $ul.removeClass("animate").css("-webkit-transform", "translateY(0)");
                                    num = 0;
                                }
                            }, 300);
                    }, 3000);
            }
        });
    </script>

</html>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.11.30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档