使用JavaScript實現連續滾動字幕效果的方法_javascript技巧
來源:懂視網
責編:小采
時間:2020-11-27 21:40:27
使用JavaScript實現連續滾動字幕效果的方法_javascript技巧
使用JavaScript實現連續滾動字幕效果的方法_javascript技巧:我們一般都用Marquee標簽控制元素的滾動。但是單向的Marquee滾動是不連續的,每滾完一幕,就會出現一次空白。而下面介紹中的滾動則是連續的,毫不間斷。 下面為你介紹這是如何實現的。 為了滾動能夠連續,我們需要將字幕的內容復制多遍,直到內容的高度
導讀使用JavaScript實現連續滾動字幕效果的方法_javascript技巧:我們一般都用Marquee標簽控制元素的滾動。但是單向的Marquee滾動是不連續的,每滾完一幕,就會出現一次空白。而下面介紹中的滾動則是連續的,毫不間斷。 下面為你介紹這是如何實現的。 為了滾動能夠連續,我們需要將字幕的內容復制多遍,直到內容的高度

我們一般都用Marquee標簽控制元素的滾動。但是單向的Marquee滾動是不連續的,每滾完一幕,就會出現一次空白。而下面介紹中的滾動則是連續的,毫不間斷。
下面為你介紹這是如何實現的。
為了滾動能夠“連續”,我們需要將字幕的內容復制多遍,直到內容的高度不小于滾動區高度的兩倍。然后我們將溢出的滾動條隱藏掉,用代碼控制滾動條向下移動(這時內容將向上移動)。當滾動條滾動到最下方時,理論上不能再往下滾動了,于是我們立刻調整滾動條,將它向上滾動到一個和當前畫面一樣的位置。結果我們看到的就是連續的滾動了。呵呵,說的就是這么簡單,那做起來如何呢?我們看看是如何逐步實現的。
輸出一個不可見的層"templayer",稍后將內容復制到里面:
document.write('<div id="templayer"
style="position:absolute;z-index:1;visibility:hidden"></div>');
function init(){ //初始化滾動內容
//多次復制原內容到"templayer",直到"templayer"的高度大于內容區高度:
while(templayer.offsetHeight<marqueesHeight){
templayer.innerHTML+=marquees.innerHTML;
} //把"templayer"的內容的“兩倍”復制回原內容區:
marquees.innerHTML=templayer.innerHTML+templayer.innerHTML;
//設置連續超時,調用"scrollUp()"函數驅動滾動條:
setInterval("scrollUp()",10);
}
document.body.onload=init;
preTop=0; //這個變量用于判斷滾動條是否已經到了盡頭
function scrollUp(){ //滾動條的驅動函數
if(stopscroll==true) return; //如果變量"stopscroll"為真,則停止滾動
preTop=marquees.scrollTop; //記錄滾動前的滾動條位置
marquees.scrollTop+=1; //滾動條向下移動一個像素
//如果滾動條不動了,則向上滾動到和當前畫面一樣的位置
//當然不僅如此,同樣還要向下滾動一個像素(+1):
if(preTop==marquees.scrollTop){
marquees.scrollTop=templayer.offsetHeight-marqueesHeight+1;
}
}
-->
</script>
這樣就完成了,感覺做起來也不難吧。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
使用JavaScript實現連續滾動字幕效果的方法_javascript技巧
使用JavaScript實現連續滾動字幕效果的方法_javascript技巧:我們一般都用Marquee標簽控制元素的滾動。但是單向的Marquee滾動是不連續的,每滾完一幕,就會出現一次空白。而下面介紹中的滾動則是連續的,毫不間斷。 下面為你介紹這是如何實現的。 為了滾動能夠連續,我們需要將字幕的內容復制多遍,直到內容的高度