zoukankan      html  css  js  c++  java
  • JS_简单无缝图片滚动

    滚动原理:

    function(a,b){
            if(a.scrollLeft>=b){
                a.scrollLeft=0;
                }
            a.scrollLeft++;

    }

    a:节点,b:阀值.

    /*css*/

    .main{500px;margin:0 auto;padding-top:50px;}
    .imgBox{height:102px;overflow:hidden;_position:relative;}
    .imgContent{90000px;_position:absolute}
    .imgBox ul{float:left;}
    .imgBox li{float:left;100px;height:100px;background:#CCC;border:1px solid #000;margin-right:20px;overflow:hidden;_display:inline;}

    /*html*/

    <div class="main">
     <div class="imgBox" id="imgRun"> 滚动层
      <div class="imgContent" id="imgCon"> 内容层,为了JS写的方便而多写的层
      <ul>
       <li style="background:#000"><img src="" width="100" height="100"/></li>
       <li style="background:#F00"><img src="" width="100" height="100"/></li>
       <li style="background:#00F"><img src="" width="100" height="100"/></li>
       <li style="background:#F0F"><img src="" width="100" height="100"/></li>
       <li style="background:#FF0"><img src="" width="100" height="100"/></li>
      </ul>
      </div>
     </div>
    </div>

    /*js*/

    var Class = {   
      create: function() {   
        return function() {                           
          this.initialize.apply(this, arguments);   
        }   
      }   
    }
    var imgRunleft = Class.create();
    imgRunleft.prototype = {
        initialize: function(a,b){
            this.imgRun = document.getElementById(a);
            this.imgCon = document.getElementById(b);
            this.imgUl     = this.imgCon.getElementsByTagName("ul");
            this.imgLi    = this.imgCon.getElementsByTagName("li");
            if(!this.imgRun)return; //判断滚动层存在
            if(this.imgRun.offsetWidth>=this.imgUl[0].offsetWidth)return;//判断滚动层的宽度和内容层的宽度,如果前者大于等于后者则返回
            this.imgCon.appendChild(this.imgUl[0].cloneNode(true));
            this.base();
            },
        base: function(){
            var fazhi    = this.imgUl[0].offsetWidth;
            var runLe     = this.runLe;
            var imgRun     = this.imgRun;
            setInterval(function(){
                runLe(imgRun,fazhi);
                },30);
            },
        runLe: function(a,b){
            if(a.scrollLeft>=b){
                a.scrollLeft=0;
                }
            a.scrollLeft++;
            }
        }
    new imgRunleft("imgRun","imgCon")

  • 相关阅读:
    onInterceptTouchEvent 与 onTouchEvent 分析与MotionEvent在ViewGroup与View中的分发
    不用windows不会死
    iframe动态改变内嵌页面高度
    算法5-8:矩形相交
    浅析数据库连接池(二)
    Ubuntu下(Linux+Apache+MYSQL+PHP, LAMP)环境搭建
    unix环境高级编程----进程控制wait()
    centos7 通过kvm+vnc 实现远程桌面虚拟化和创建windows、Linux虚拟机
    Android native层动态库注射
    Windows10 下 JAVA JDK版本设置修改操作
  • 原文地址:https://www.cnblogs.com/somesayss/p/2543008.html
Copyright © 2011-2022 走看看