javascript新闻向上停顿1秒后继续滚动

 

最近在写一些移动端的页面,看到平时一些插件的新闻向上滚动效果都是鼠标一进去才会停止,然后我下面写了一个类似的,但是功能不一样,

功能介绍:向上滚动固定的高度后停顿1-2s展示,然后继续滚动

<html>
    <head>
        <title>vue</title>
        <meta charset="utf-8">
        <script src="https://cdn.jsdelivr.net/npm/vue"></script>
        <style>
            *{list-style: none;padding:0px;margin:0px;}
            #app{height:30px;border:1px solid #ccc;overflow: hidden;width:300px;margin:50px auto;}
            #app li{line-height: 30px;padding:0 10px;height: 30px;}
        </style>
    </head>
    <body>
        <div id="app">
            <ul id="slide1">
                <li>11111111111111111111111111111</li>
                <li>22222222222222222222222222222</li>
                <li>33333333333333333333333333333</li>
                <li>44444444444444444444444444444</li>
                <li>55555555555555555555555555555</li>
                <li>66666666666666666666666666666</li>
                <li>77777777777777777777777777777</li>
                <li>88888888888888888888888888888</li>
                <li>99999999999999999999999999999</li>
                <li>00000000000000000000000000000</li>
            </ul>
            <ul id="slide2"></ul>
        </div>
    </body>
    <script>
        var speed = 40;
        var app = document.getElementById('app');
        var slide1 = document.getElementById('slide1');
        var slide2 = document.getElementById('slide2');
        slide2.innerHTML = slide1.innerHTML;
        var timer ,timeout;
        function marqueeMethods(){
            clearTimeout(timeout)
            if(slide2.offsetTop-app.scrollTop<=0){
                app.scrollTop = app.scrollTop - slide1.offsetHeight;
            }else{
                app.scrollTop++;
                if(app.scrollTop%30==0){
                    clearTimeout(timeout);
                    clearInterval(timer);
                    timeout = setTimeout(function(){
                        app.scrollTop++;
                        return timer = setInterval(marqueeMethods,speed);
                    },1000);
                }
            }
        }
        timer = setInterval(marqueeMethods,speed);
    </script>
</html>

 

转载于:https://www.cnblogs.com/shira-t/p/8572692.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值