無縫滾動大全

          <!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)

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          主站蜘蛛池模板: 红桥区| 顺义区| 休宁县| 天峨县| 莱州市| 怀柔区| 井冈山市| 巴塘县| 武强县| 当阳市| 宁强县| 玉田县| 大兴区| 民乐县| 墨竹工卡县| 综艺| 凤冈县| 上林县| 双鸭山市| 江阴市| 麻阳| 翁源县| 龙井市| 沿河| 思南县| 邮箱| 屯昌县| 吉木乃县| 梁山县| 崇左市| 南华县| 离岛区| 光山县| 甘德县| 龙泉市| 姜堰市| 辽源市| 九台市| 东平县| 高淳县| 清苑县|