首页 > Web开发 > 详细

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

时间:2016-03-23 11:18:29      阅读:235      评论:0      收藏:0      [点我收藏+]

效果截图:

技术分享

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>

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

原文:http://www.cnblogs.com/lvmylife/p/5310272.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!