無縫滾動大全

          <!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>
          <style type="text/css">
          ul,li{margin:0;padding:0;list-style:none;}
          #tab {background: #FFF;overflow:hidden;border: 1px dashed #CCC;width: 500px;}
          .tab_div{float: left;width: 2000px;}
          #tab1,#tab2{float: left;}
          #tab1 li,#tab2 li{float:left;margin-right:20px;}
          </style>
          </head>
          <body>
          向左滾動
          <div id="tab">
          <div class="tab_div">
          <ul id="tab1">
          <li>111111111111111111</li>
          <li>22222222222222222222222222222</li>
          <li>333</li>
          <li>44</li>
          </ul>
          <ul id="tab2"></ul>
          </div>
          </div>
          <script type="text/javascript">
          <!--
          var $d = document;
          function $i(s){return $d.getElementById(s);}
          var speed=30; //數字越大速度越慢
          var tab=$i("tab");
          var tab1=$i("tab1");
          var tab2=$i("tab2");
          tab2.innerHTML=tab1.innerHTML;
           function Marquee(){
          if(tab2.offsetWidth-tab.scrollLeft<=0)
          tab.scrollLeft-=tab1.offsetWidth;
          else{
          tab.scrollLeft++;
          }
          }
          var MyMar=setInterval(Marquee,speed);
          tab.onmouseover=function() {clearInterval(MyMar)};
          tab.onmouseout=function() {MyMar=setInterval(Marquee,speed)};
          -->
          </script>
          </body>
          </html>

          紅色部分是重點滾動代碼,可改為上下左右無縫滾動:
          ———————–向上滾動——————————-

          function Marquee(){
          if(tab2.offsetTop-tab.scrollTop<=0)
          tab.scrollTop-=tab1.offsetHeight;
          else{
          tab.scrollTop++;
          }
          }

          ———————–向下滾動——————————-

          tab.scrollTop=tab.scrollHeight;
          function Marquee(){
          if(tab1.offsetTop-tab.scrollTop>=0)
          tab.scrollTop+=tab2.offsetHeight;
          else{
          tab.scrollTop--
          }
          }

          ———————–向左滾動——————————-

          function Marquee(){
          if(tab2.offsetWidth-tab.scrollLeft<=0)
          tab.scrollLeft-=tab1.offsetWidth;
          else{
          tab.scrollLeft++
          }
          }

          ———————–向右滾動——————————-

          tab.scrollLeft=tab.scrollWidth;
          function Marquee(){
          if(tab.scrollLeft<=0)
          tab.scrollLeft+=tab2.offsetWidth;
          else{
          tab.scrollLeft--
          }
          }

          ———————————————————
          有一點要注意的是,在實現應用中得算好高度或寬度,不然會出現滾動兩次后停止的問題。

          posted on 2010-04-24 00:13 丁克設計 閱讀(269) 評論(0)  編輯  收藏 所屬分類: JavaScript技術文檔

          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          留言簿(6)

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          主站蜘蛛池模板: 林西县| 郧西县| 禄劝| 嘉兴市| 博乐市| 遂川县| 旬邑县| 睢宁县| 吴江市| 长海县| 萍乡市| 南岸区| 来凤县| 自贡市| 奉节县| 五指山市| 陆丰市| 五大连池市| 华池县| 咸宁市| 吉安市| 千阳县| 驻马店市| 承德市| 怀化市| 建德市| 南郑县| 徐汇区| 凤凰县| 长武县| 广州市| 聂荣县| 衡山县| 新龙县| 久治县| 启东市| 金湖县| 望江县| 平舆县| 金山区| 霍林郭勒市|