zoukankan      html  css  js  c++  java
  • 无缝滚动

    实现代码:

    HTML:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>Document</title>
    </head>
    <body>
        <div id="btn">
            <a class="left" href="javascript:;" title="往左"></a>
            <a class="right" href="javascript:;" title="往右"></a>
        </div>
        <div id="box">
            <ul>
                <li class="no1">111</li>
                <li class="no2">222</li>
                <li class="no3">333</li>
                <li class="no4">444</li>
            </ul>
        </div>
    </body>
    </html>

    CSS:

    <style>
        *{margin: 0px;padding: 0px;}
        body{background: #eee;padding: 100px;}
        li{list-style: none;}
        a{text-decoration: none;}
        #box{width: 600px;height: 150px;border: 1px solid #ccc;box-shadow: 0px 0px 10px #5b5269;border-radius: 5px;position: relative;overflow: hidden;}
        #box ul{width: 600px;height: 130px;position: absolute;top: 0;left: 0;padding: 10px 0;overflow: hidden;}
        #box ul li{float: left;width: 190px;height: 130px;margin:0 5px;}
        #box ul li.no1{background-color: #0281ff;}
        #box ul li.no2{background-color: #27b146;}
        #box ul li.no3{background-color: #7132e4;}
        #box ul li.no4{background-color: #d94013;}
        #btn a{display: block;width: 50px;height: 50px;line-height: 50px;text-align: center;font-size: 30px;background: #6ab5ff;border-radius: 50px;color: #fff;position: absolute;}
        #btn a:hover{background-color: #d94013;}
        #btn a.left{top: 150px;left: 40px;}
        #btn a.right{top: 150px;left: 710px;}
    </style>

    JS:

    <script>
        window.onload=function(){
            var oBox = document.getElementById('btn');
            var aBtn = oBox.getElementsByTagName('a');
            var oUl = document.getElementsByTagName('ul')[0];
            var aLi = oUl.getElementsByTagName('li');
            var iSpeed = -5;
    
            oUl.innerHTML+=oUl.innerHTML;
            oUl.style.width=(aLi[1].offsetWidth+10) * (aLi.length)+'px';    //offsetWidth不包含margin,所以在这里加上了Li之间的margin值
    
            function move(){
                if(oUl.offsetLeft<-oUl.offsetWidth/2){
                    oUl.style.left='0';
                }
                if(oUl.offsetLeft>0){
                    oUl.style.left=-oUl.offsetWidth/2+'px';
                }
                oUl.style.left=oUl.offsetLeft+iSpeed+'px';
            };
    
            var timer = setInterval(move,30);
    
            aBtn[0].onclick=function(){
                iSpeed=-5;
            };
    
            aBtn[1].onclick=function(){
                iSpeed=5;
            }
    
            oUl.onmouseover=function(){
                clearInterval(timer);
            }
            oUl.onmouseout=function(){
                timer=setInterval(move,30);;
            }
    
        }
    </script>

    效果如下图所示:

    高否?富否?帅否? 否? 滚去学习!
  • 相关阅读:
    [置顶] 算法设计基础
    .net 多线程学习
    如何获得Repeater中的列
    npoi导出excel
    字符串的格式化问题
    用线程修改页面中的值(一)
    正则表达式的验证数值验证
    .net 线程更新页面中的值(方法二)
    .net 线程更新页面中的值(方法一)
    字符串的分割
  • 原文地址:https://www.cnblogs.com/baixc/p/3433116.html
Copyright © 2011-2022 走看看