• js学习总结----小案例之跑马灯


    具体代码如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            *{
                margin:0;
                padding:0;
                font-size:14px;
            }
            #box{
                margin:50px auto;
                padding:0 10px;
                1000px;
                height:35px;
                line-height:35px;
                border:1px dashed green;
                background:lightgreen;
            }
            #box #wrap{
                height:35px;
                overflow:hidden;
                white-space:nowrap;
            }
            #box span{
                color:red;
                font-weight:bold;
                font-size:16px;
            }
            #wrap div{
                display:inline-block;
            }
        </style>
    </head>
    <body>
        <div id='box'>
            <div id='wrap'>
                <div id='conBegin'>
                    <span>通知:</span>7月6日消息,今日下午人民日报在微博上发表了一篇名为《新闻莫被算法"绑架"》的文章,文中直指"今日头条""一点资讯"这类痴迷于技术和算法的新闻客户端越来越'简单粗暴'了,并批判这些公司引.文中直指"今日头条""一点资讯"这类痴迷于技术和算法的新闻客户端越来越'简单粗暴'了,并批判这些公司引
                </div>
                <div id='conEnd'>
                    <span>通知:</span>7月6日消息,今日下午人民日报在微博上发表了一篇名为《新闻莫被算法"绑架"》的文章,文中直指"今日头条""一点资讯"这类痴迷于技术和算法的新闻客户端越来越'简单粗暴'了,并批判这些公司引.文中直指"今日头条""一点资讯"这类痴迷于技术和算法的新闻客户端越来越'简单粗暴'了,并批判这些公司引
                </div>
            </div>
            
        </div>
    
        <script>
            ~function(){
                var box = document.getElementById('box');
                var conBegin = document.getElementById('conBegin');
                var wrap = document.getElementById('wrap');
                var conBegin_width = getCss(conBegin,'width');//之前封装好的获取css样式的方法
                var timer = window.setInterval(move,10)
                function move(){
                    //优化前的代码
                    // var curLeft = wrap.scrollLeft;
                    // wrap.scrollLeft = curLeft +1;
                    // var newLeft = wrap.scrollLeft;
                    // if(curLeft == newLeft){
                    // //利用了scrollLeft是存在最大值的思想,在累加1之前获取一个值,在累加之后获取一个值,如果两个值相等了,说明已经达到最大值了,所以清除定时器
                    //     // window.clearInterval(timer)
                    //     wrap.scrollLeft = 0//这样虽然从头开始了,但是会导致会闪烁一下。
                    // }
                    //优化后的代码  使用两个一样内容的div避免闪烁
                    wrap.scrollLeft++;
                    var curLeft = wrap.scrollLeft;
                    if(wrap.scrollLeft >= conBegin_width){
                        wrap.scrollLeft = 0
                    }
                }
                //鼠标划过停止
                box.onmouseover = function(){
                    window.clearInterval(timer);
                }
                box.onmouseout = function(){
                    timer = window.setInterval(move,10)
                }
            }()
            
        </script>
    </body>
    </html>
  • 相关阅读:
    换一个角度看问题:火柴棒等式
    队列之blah集合
    专题——极值定理及应用
    专题——计数原理
    Antiprime数-数论
    Openjudge-NOI题库-旅行-数论
    砝码设计-数论
    有理数分解-数论
    洛谷-神奇的幻方-NOIP2015提高组复赛
    NOIP2014-提高组初赛C语言解析(选择填空题)
  • 原文地址:https://www.cnblogs.com/diasa-fly/p/7129121.html
Copyright © 2020-2023  润新知