JavaScript實現連續滾動

 <div id="scrollText">
    <h2>連續滾動示例標題</h2>
      <p>實例新聞,可以添加任何想要滾動的內容。包括圖片等等。</p>
      <p><img src="../../images/logo.gif" alt="連續滾動示例圖片" width="200" height="60" /></p>
      <p>……</p>
  </div>
<script type="text/javascript">
//添加事件響應函數的函數,與本效果無關
function addEventSimple(obj,evt,fn){
    if(obj.addEventListener){
        obj.addEventListener(evt,fn,false);
    }else if(obj.attachEvent){
        obj.attachEvent('on'+evt,fn);
    }
}
addEventSimple(window,'load',initScrolling);
//保存想要滾動的容器
var scrollingBox;
var scrollingInterval;
//用於記錄是否“滾到頭”過一次
var reachedBottom=false;
//記錄第一次滾到頭時候的scrollTop
var bottom;
//初始化滾動效果
function initScrolling(){
    scrollingBox = document.getElementById("scrollText");
    //樣式設置,與滾動基本無關,應該用CSS設置。
    scrollingBox.style.height = "60px";
    scrollingBox.style.overflow = "hidden";
    //滾動
    scrollingInterval = setInterval("scrolling()",50);
    //鼠標劃過停止滾動效果
    scrollingBox.onmouseover = over;
    //鼠標劃出回覆滾動效果
    scrollingBox.onmouseout = out;   
}
//滾動效果
function scrolling(){
    //開始滾動,origin是原來scrollTop
    var origin = scrollingBox.scrollTop++;
    //如果到頭了
    if(origin == scrollingBox.scrollTop){
        //如果是第一次到頭
        if(!reachedBottom){
            scrollingBox.innerHTML+=scrollingBox.innerHTML;
            reachedBottom=true;
            bottom=origin;
        }else{
            //已經到頭過,只需回覆頭接尾的效果
            scrollingBox.scrollTop=bottom;
        }
    }
}
function over(){
    clearInterval(scrollingInterval);
}
function out(){
    scrollingInterval = setInterval("scrolling()",50);
}
  </script>

發佈了2 篇原創文章 · 獲贊 5 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章