• JS学习笔记之页面信息滚动效果


    效果截图:

    1、无缝滚动效果

    JS代码:

        <script>
            window.onload=function(){
                var oInfobox=document.getElementById('infoBox'),
                    speed=60, //设置速度
                    timer=null; //设置定时器
                oInfobox.innerHTML+=oInfobox.innerHTML; //复制一份内容,无缝滚动
                timer=setInterval(scrollUp,speed);
                function scrollUp(){
                    oInfobox.scrollTop=oInfobox.scrollTop+1;
                    if(oInfobox.scrollTop>=oInfobox.offsetHeight){ 
                        //判断元素的滚动高度大于元素本身的高度时,把滚动高度瞬间拉回
                        oInfobox.scrollTop=0;
                    }
                }
                oInfobox.onmouseover=function(){
                    clearInterval(timer)
                }
                oInfobox.onmouseout=function(){
                    timer=setInterval(scrollUp,speed);
                }
            }
        </script>

    2、间隔滚动效果

    JS代码:

        <script>
            window.onload=function(){
                var oInfobox=document.getElementById('infoBox'),
                    oHeight=41,//设置间隔滚动高度
                    speed=20, //设置速度
                    timer01=null; //设置setInterval定时器
                    timer02=null; //设置setTimeout定时器
    
                oInfobox.innerHTML+=oInfobox.innerHTML; //复制一份内容,无缝滚动
    
                function startMove(){
                    oInfobox.scrollTop++;
                    timer01=setInterval(scrollUp,speed);
                }
                function scrollUp(){
                    if(oInfobox.scrollTop%oHeight==0){
                        clearInterval(timer01);
                        timer02=setTimeout(startMove,1000);
                    }else{
                        oInfobox.scrollTop++;
                        if(oInfobox.scrollTop>=oInfobox.offsetHeight){ 
                            //判断元素的滚动高度大于元素本身的高度时,把滚动高度瞬间拉回
                            oInfobox.scrollTop=0;
                        }
                    }
                }
                startMove();
                oInfobox.onmouseover=function(){
                    clearInterval(timer01);
                    clearTimeout(timer02);
                }
                oInfobox.onmouseout=function(){
                    timer01=setInterval(scrollUp,speed);
                }
            }
        </script>

    HTML代码:

        <div class="container">
            <div class="panel panel-default">
                <div class="panel-heading">
                    <div class="panel-title">公告信息</div>
                </div>
                <div class="panel-body">
                    <div class="infoBox" id="infoBox">
                        <ul class="list-group">
                            <li class="list-group-item"><a href="#">1、关于2016年新生入学的通知01</a></li>
                            <li class="list-group-item"><a href="#">2、关于2016年新生入学的通知02</a></li>
                            <li class="list-group-item"><a href="#">3、关于2016年新生入学的通知03</a></li>
                            <li class="list-group-item"><a href="#">4、关于2016年新生入学的通知04</a></li>
                            <li class="list-group-item"><a href="#">5、关于2016年新生入学的通知05</a></li>
                            <li class="list-group-item"><a href="#">6、关于2016年新生入学的通知06</a></li>
                        </ul>
                    </div>            
                </div>
            </div>
        </div>

    CSS样式:

        <link href="http://cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
        <style>
            .container{ width: 500px; margin: 60px auto; }
            .infoBox{ width:100%; height: 240px; overflow: hidden;}
            .list-group{ margin-bottom: 0; border-radius:0;}
            .list-group li{  border-radius:0 !important; }
            .list-group li:last-child{  border-bottom:0 !important; }
        </style>
  • 相关阅读:
    A
    E
    C
    A
    exgcd
    博客
    简单数论
    extended_gcd(扩展欧几里德算法) 青蛙的约会
    扩展欧几里德算法—求解不定方程,线性同余方程
    素数筛 E
  • 原文地址:https://www.cnblogs.com/lvmylife/p/5310272.html
Copyright © 2020-2023  润新知