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

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

基于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>
相关文章
|
6月前
|
JavaScript
jQuery幸运大转盘抽奖活动代码
jQuery幸运大转盘抽奖活动代码
79 7
jQuery幸运大转盘抽奖活动代码
|
JavaScript 开发者
|
JavaScript
jQuery 五角星评分案例(详细代码)
jQuery 五角星评分案例(详细代码)
108 0
|
2月前
|
JavaScript
jQuery实现无缝图片滚动效果
jQuery实现无缝图片滚动效果
142 67
|
3月前
|
JavaScript
鼠标事件(点击换色)分别使用js和jQuery代码实现
鼠标事件(点击换色)分别使用js和jQuery代码实现
40 1
|
4天前
|
JavaScript
jQuery实现的星级打分带评价及颜色区分代码
jQuery实现的星级打分带评价及颜色区分效果代码是一款支持自定义评论颜色的星级评价打分,其中红色为一星级,差评、绿色位五星级、满分好评,本段代码适应于所有网页使用,有需要的朋友们就来下载使用吧。
12 2
|
6月前
|
JavaScript 前端开发
jquery酷炫的马赛克图片还原动画代码
jquery酷炫的马赛克图片还原动画代码,jquery马赛克图片动画,js酷炫图片代码,马赛克图片js还原效果,js图片分散汇聚效果素材
106 1
|
5月前
|
JavaScript 前端开发
杨校老师课堂之Web前端JS类库_JQuery案例[效果图与代码齐全]
杨校老师课堂之Web前端JS类库_JQuery案例[效果图与代码齐全]
35 0
|
6月前
|
JavaScript 前端开发 索引
jQuery学习教程,写更少的代码,做更多的事情(二)
jQuery学习教程,写更少的代码,做更多的事情(二)