zoukankan      html  css  js  c++  java
  • 自己练习的无缝滚动原生JS

    看了妙趣的课堂自己练习的,因为牵涉到远程就没利用图片
     
    <!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">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <style>
      div,ul,li,a{ margin:0; padding:0}
      ul,li{list-style:none}
      .roll{width:560px; margin:50px auto;overflow:hidden; position:relative}
      .prev,.next{ width:80px;height:80px;background:#ccc; color:#fff}
      .prev{position:absolute;left:0;top:20px;}
      .next{position:absolute;right:0;top:20px;}
      .scroll{position:relative;left:100px;width:360px;height:100px;overflow:hidden}
      .scroll ul{position:absolute;left:0}
      .scroll li{width:100px;height:100px;margin:0 10px; float:left;text-align:center}
    </style>
    <script>
      window.onload = function(){
          var odiv = document.getElementById('roll');
          var oul = odiv.getElementsByTagName('ul')[0];
          var oli = odiv.getElementsByTagName('li');
          var obtn = odiv.getElementsByTagName('a')
          var speed = 30;
          var timer;
           oul.innerHTML += oul.innerHTML;
           oul.style.width = (oli[0].offsetWidth+oli[0].offsetLeft*2)*oli.length+'px';

          timer = setInterval(function(){
            oul.style.left = oul.offsetLeft+speed+'px';
             if(oul.offsetLeft < -oul.offsetWidth/2){
                  oul.style.left = '0px'
             }else if(oul.offsetLeft > 0){
                 oul.style.left = -oul.offsetWidth/2+'px'
                 }
         },300)

         obtn[0].onmouseover = function(){
            speed =-30
         }
         obtn[1].onmouseover = function(){
            speed =30
         }
         oul.onmouseover= function(){
            clearInterval(timer)
         }
         oul.onmouseout= function(){
            timer = setInterval(function(){
            oul.style.left = oul.offsetLeft+speed+'px';
             if(oul.offsetLeft < -oul.offsetWidth/2){
                  oul.style.left = '0px'
             }else if(oul.offsetLeft > 0){
                 oul.style.left = -oul.offsetWidth/2+'px'
                 }
         },300)
         }



      }
    </script>
    </head>

    <body>
       <div class="roll" id ="roll">
            <a href="###" class="prev">左侧按钮</a>
            <a href="###" class="next">右侧按钮</a>
            <div class="scroll clearfix">
                 <ul>
                     <li style="background:#f7f">第一个</li>
                     <li style="background:#0fc">第二个</li>
                     <li style="background:red">第三个</li>
                     <li style="background:green">第四个</li>
                 </ul>
            </div
       </div>
    </body>
    </html>




  • 相关阅读:
    [转]ABAP动态取得数据
    [转]ABAP学习笔记之三内表
    [转]ABAP实现对变式的修改
    [转]ABAP Search help
    C#中访问私有成员[转载]
    如果在BackgroundWorker运行过程中关闭窗体…
    交叉编译的概念
    索引器的重载的一个例子
    自定义类实现IComparable接口
    ioctl函数
  • 原文地址:https://www.cnblogs.com/zjx2011/p/2752732.html
Copyright © 2011-2022 走看看