zoukankan      html  css  js  c++  java
  • 兼容各种浏览器的自动左右滚动兼左右点击滚动代码

    直接切入正题

    红色表示要统一(所有的id)

    演示地址:http://www.er-china.com/index.php?m=content&c=index&a=lists&catid=772

    本框架为phpcms,大家可根据自己的框架更改循环。

    <div class="rollBox">

         <div class="LeftBotton" onmousedown="ISL_GoUp()" onmouseup="ISL_StopUp()" onmouseout="ISL_StopUp()"><img src="/tpl/03wrcd/img/leftbtn.png"></div>
        
         <div class="Cont" id="ISL_Cont">
              <div class="ScrCont">
                   <div id="List1">
                    <!-- 图片列表 begin -->
        {pc:content action="lists" catid="804" start="0" order="listorder asc,updatetime desc,id desc"}
        {loop $data $r}
                     <div class="pic">
                      <p><img src="{thumb($r[thumb],180,153)}"></p>{$r[title]}
                     </div>
         {/loop}
                     {/pc}  
                    <!-- 图片列表 end -->
                   </div>
                   <div id="List2"></div>
              </div>
         </div>
        
         <div class="RightBotton" onmousedown="ISL_GoDown()" onmouseup="ISL_StopDown()" onmouseout="ISL_StopDown()"><img src="/tpl/03wrcd/img/rightbtn.png"></div>
        
    </div>       
           
    <script language="javascript" type="text/javascript">
    <!--//--><![CDATA[//><!--
    //图片滚动列表 mengjia 070816
    var Speed = 1; //速度(毫秒)
    var Space = 5; //每次移动(px)
    var PageWidth = 170; //翻页宽度 调整滑动图片大小
    var fill = 0; //整体移位
    var MoveLock = false;
    var MoveTimeObj;
    var Comp = 0;
    var AutoPlayObj = null;
    GetObj("List2").innerHTML = GetObj("List1").innerHTML;
    GetObj('ISL_Cont').scrollLeft = fill;
    GetObj("ISL_Cont").onmouseover = function(){clearInterval(AutoPlayObj);}
    GetObj("ISL_Cont").onmouseout = function(){AutoPlay();}
    AutoPlay();
    function GetObj(objName){if(document.getElementById){return eval('document.getElementById("'+objName+'")')}else{return eval('document.all.'+objName)}}
    function AutoPlay(){ //自动滚动
     clearInterval(AutoPlayObj);
     AutoPlayObj = setInterval('ISL_GoDown();ISL_StopDown();',3000); //间隔时间
    }
    function ISL_GoUp(){ //上翻开始
     if(MoveLock) return;
     clearInterval(AutoPlayObj);
     MoveLock = true;
     MoveTimeObj = setInterval('ISL_ScrUp();',Speed);
    }
    function ISL_StopUp(){ //上翻停止
     clearInterval(MoveTimeObj);
     if(GetObj('ISL_Cont').scrollLeft % PageWidth - fill != 0){
      Comp = fill - (GetObj('ISL_Cont').scrollLeft % PageWidth);
      CompScr();
     }else{
      MoveLock = false;
     }
     AutoPlay();
    }
    function ISL_ScrUp(){ //上翻动作
     if(GetObj('ISL_Cont').scrollLeft <= 0){GetObj('ISL_Cont').scrollLeft = GetObj('ISL_Cont').scrollLeft + GetObj('List1').offsetWidth}
     GetObj('ISL_Cont').scrollLeft -= Space ;
    }
    function ISL_GoDown(){ //下翻
     clearInterval(MoveTimeObj);
     if(MoveLock) return;
     clearInterval(AutoPlayObj);
     MoveLock = true;
     ISL_ScrDown();
     MoveTimeObj = setInterval('ISL_ScrDown()',Speed);
    }
    function ISL_StopDown(){ //下翻停止
     clearInterval(MoveTimeObj);
     if(GetObj('ISL_Cont').scrollLeft % PageWidth - fill != 0 ){
      Comp = PageWidth - GetObj('ISL_Cont').scrollLeft % PageWidth + fill;
      CompScr();
     }else{
      MoveLock = false;
     }
     AutoPlay();
    }
    function ISL_ScrDown(){ //下翻动作
     if(GetObj('ISL_Cont').scrollLeft >= GetObj('List1').scrollWidth){GetObj('ISL_Cont').scrollLeft = GetObj('ISL_Cont').scrollLeft - GetObj('List1').scrollWidth;}
     GetObj('ISL_Cont').scrollLeft += Space ;
    }
    function CompScr(){
     var num;
     if(Comp == 0){MoveLock = false;return;}
     if(Comp < 0){ //上翻
      if(Comp < -Space){
       Comp += Space;
       num = Space;
      }else{
       num = -Comp;
       Comp = 0;
      }
      GetObj('ISL_Cont').scrollLeft -= num;
      setTimeout('CompScr()',Speed);
     }else{ //下翻
      if(Comp > Space){
       Comp -= Space;
       num = Space;
      }else{
       num = Comp;
       Comp = 0;
      }
      GetObj('ISL_Cont').scrollLeft += num;
      setTimeout('CompScr()',Speed);
     }
    }
    //--><!]]>
    </script> 

  • 相关阅读:
    Java Set 常用集合 HashSet、LinkedHashSet、TreeSet
    旋转数组的最小数字
    Java List 常用集合 ArrayList、LinkedList、Vector
    RestfulApi 学习笔记——内容协商(三)
    RestfulApi 学习笔记——.net core入门操作(二)
    不一样的模板模式(设计模式十一)
    RestfulApi 学习笔记——简单介绍(一)
    oracle 数据库连接
    重学c#系列——索引器(九)
    重新整理计算机组成原理(一)
  • 原文地址:https://www.cnblogs.com/hshanghai/p/3412443.html
Copyright © 2011-2022 走看看