国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

使用JavaScript實現連續滾動字幕效果的方法

2019-11-20 12:05:27
字體:
來源:轉載
供稿:網友

我們一般都用Marquee標簽控制元素的滾動。但是單向的Marquee滾動是不連續的,每滾完一幕,就會出現一次空白。而下面介紹中的滾動則是連續的,毫不間斷。

  下面為你介紹這是如何實現的。

  為了滾動能夠“連續”,我們需要將字幕的內容復制多遍,直到內容的高度不小于滾動區高度的兩倍。然后我們將溢出的滾動條隱藏掉,用代碼控制滾動條向下移動(這時內容將向上移動)。當滾動條滾動到最下方時,理論上不能再往下滾動了,于是我們立刻調整滾動條,將它向上滾動到一個和當前畫面一樣的位置。結果我們看到的就是連續的滾動了。呵呵,說的就是這么簡單,那做起來如何呢?我們看看是如何逐步實現的。

<div id="marquees"> <!-- 這些是字幕的內容,你可以任意定義 --> <a href="#">鏈接一</a><br> <a href="#">鏈接二</a><br> <a href="#">鏈接三</a><br> <a href="#">鏈接四</a><br> <!-- 字幕內容結束 --></div><!-- 以下是java-script代碼 --><script language="java-script"><!--marqueesHeight=200; //內容區高度stopscroll=false; //這個變量控制是否停止滾動with(marquees){noWrap=true; //這句表內容區不自動換行style.width=0; //于是我們可以將它的寬度設為0,因為它會被撐大style.height=marqueesHeight;style.overflowY="hidden"; //滾動條不可見onmouseover=new Function("stopscroll=true"); //鼠標經過,停止滾動onmouseout=new Function("stopscroll=false"); //鼠標離開,開始滾動}//這時候,內容區的高度是無法讀取了。下面輸出一個不可見的層"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>

  

這樣就完成了,感覺做起來也不難吧。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 闵行区| 济宁市| 丹江口市| 徐汇区| 思南县| 玉屏| 平遥县| 上高县| 中西区| 曲沃县| 阜新| 资源县| 开远市| 义马市| 平武县| 刚察县| 东兴市| 紫阳县| 视频| 玉林市| 万年县| 内丘县| 呼伦贝尔市| 米易县| 梁河县| 大足县| 原平市| 资中县| 凭祥市| 六安市| 日照市| 东源县| 海兴县| 佛教| 廊坊市| 拉萨市| 宾阳县| 平原县| 历史| 梧州市| 琼结县|