球球之家

Talk is cheap. Show me the code!

js实现新增内容滚动播放效果

完整demo如下
每两秒随机向上或者向下滚动,如果要替换新内容,则通过html()更新内容即可(查看注释代码)

<!DOCTYPE html>
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <style>
        ul,li{
            list-style-type:none;
            border: solid;
        }
        ul{
            overflow: hidden;/*让li超出ul时隐藏*/
        }
        body{
            margin: 0px;
        }
    </style>
</head>
<body>
<div>
    <ul>
        <li>
            <img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1503543418892&di=1f606f0990cf6fa893c8330457b5fde2&imgtype=0&src=http%3A%2F%2Fi3.hoopchina.com.cn%2Fblogfile%2F201509%2F16%2FBbsImg144240668814516_480*360.jpg"/>
        </li>
        <li><img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1503543451619&di=a578daa6b6f794cb233f655cd5ecaf91&imgtype=0&src=http%3A%2F%2Fimg.qqzhi.com%2Fupload%2Fimg_0_3518803618D2241430362_23.jpg"/>
        </li>
        <li><img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1503544550636&di=086d271111b428fadf9e23abb7c06b1e&imgtype=0&src=http%3A%2F%2Fuploads.yeyoujia.com%2Fcms%2Fimages%2F2017%2F02%2F10%2F589d8e4598d46285900450.png">
        </li>
    </ul>
</div>
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js"></script>
<script>
    function getRandom(min, max){
        var r = Math.random() * (max - min);
        var re = Math.round(r + min);
        re = Math.max(Math.min(re, max), min)
        return re;
    }

    $(function(){
        setInterval(function(){
            if(getRandom(0,1)==0){
                //向上滚动特效
                var ul = $("ul");
                var $first = ul.find('li:first');
                var height = $first.height();
                $first.animate({
                    marginTop: -height + 'px'
                }, 500, function() {
//                    $first.css('marginTop', 0).html(new Date().getMinutes()+":"+new Date().getSeconds()).appendTo(ul);/*不要写成append*/
                    $first.css('marginTop', 0).appendTo(ul);
                });
            }else{
                //向下滚
                var ul = $("ul");
                var liHeight = ul.find("li:last").height();//计算最后一个li元素的高度
                ul.animate({marginTop : liHeight +"px"},500,function(){
//                    ul.find("li:last").html(new Date().getMinutes()+":"+new Date().getSeconds()).prependTo(ul);/*不要写成prepend*/
                    ul.find("li:last").prependTo(ul);/*不要写成prepend*/
                    ul.find("li:first").hide();
                    ul.css({marginTop:0});
                    ul.find("li:first").fadeIn(1000);
                });
            }
        },2000);
    });
</script>

</body>
</html>

效果
美女

阅读更多

扫码向博主提问

去开通我的Chat快问

wm5920

非学,无以致疑;非问,无以广识
  • 擅长领域:
  • java
  • 运维
  • 容器
  • 大数据
  • 架构
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wm5920/article/details/77519788
个人分类: 前端开发
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭