麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 16:22:50
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了使用JavaScript實現連續滾動字幕效果的方法,文中給出了瀏覽器端運行的示例腳本,需要的朋友可以參考下

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

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

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

 

 
  1. <div id="marquees"> <!-- 這些是字幕的內容,你可以任意定義 --> <a href="#">鏈接一</a> 
  2. <br> <a href="#">鏈接二</a> 
  3. <br> <a href="#">鏈接三</a> 
  4. <br> <a href="#">鏈接四</a> 
  5. <br> <!-- 字幕內容結束 --> 
  6. </div> 
  7. <!-- 以下是java-script代碼 --> 
  8. <script language="java-script"
  9. <!-- 
  10. marqueesHeight=200; //內容區高度 
  11. stopscroll=false//這個變量控制是否停止滾動 
  12. with(marquees){ 
  13. noWrap=true//這句表內容區不自動換行 
  14. style.width=0; //于是我們可以將它的寬度設為0,因為它會被撐大 
  15. style.height=marqueesHeight; 
  16. style.overflowY="hidden"//滾動條不可見 
  17. onmouseover=new Function("stopscroll=true"); //鼠標經過,停止滾動 
  18. onmouseout=new Function("stopscroll=false"); //鼠標離開,開始滾動 
  19. //這時候,內容區的高度是無法讀取了。下面輸出一個不可見的層"templayer",稍后將內容復制到里面: 
  20. document.write('<div id="templayer" 
  21. style="position:absolute;z-index:1;visibility:hidden"></div>'); 
  22. function init(){ //初始化滾動內容 
  23. //多次復制原內容到"templayer",直到"templayer"的高度大于內容區高度: 
  24. while(templayer.offsetHeight<marqueesHeight){ 
  25. templayer.innerHTML+=marquees.innerHTML; 
  26. //把"templayer"的內容的“兩倍”復制回原內容區: 
  27. marquees.innerHTML=templayer.innerHTML+templayer.innerHTML; 
  28. //設置連續超時,調用"scrollUp()"函數驅動滾動條: 
  29. setInterval("scrollUp()",10); 
  30. document.body.onload=init; 
  31. preTop=0; //這個變量用于判斷滾動條是否已經到了盡頭 
  32. function scrollUp(){ //滾動條的驅動函數 
  33. if(stopscroll==truereturn//如果變量"stopscroll"為真,則停止滾動 
  34. preTop=marquees.scrollTop; //記錄滾動前的滾動條位置 
  35. marquees.scrollTop+=1; //滾動條向下移動一個像素 
  36. //如果滾動條不動了,則向上滾動到和當前畫面一樣的位置 
  37. //當然不僅如此,同樣還要向下滾動一個像素(+1): 
  38. if(preTop==marquees.scrollTop){ 
  39. marquees.scrollTop=templayer.offsetHeight-marqueesHeight+1; 
  40. --> 
  41. </script> 

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: jizzjizz中国少妇中文 | 国产一级小视频 | 狠狠操精品视频 | 一级黄色免费电影 | 久久久久九九九女人毛片 | 国产成人av免费看 | 国产999在线 | 色悠悠久久久久 | 国产一级淫片在线观看 | 亚洲国产网址 | 水多视频在线观看 | 素人视频在线观看免费 | 日本在线观看高清完整版 | 欧美视频一区二区三区四区 | 91久久精品一区二区 | 色淫湿视频 | av亚洲在线观看 | 欧洲成人一区 | 欧美久久久久久久久 | 精品在线视频播放 | 色交视频 | 黄色免费av | av免费在线网站 | 毛片电影在线看 | 久久我不卡 | 欧美一区二区三区久久精品视 | 国产毛片在线 | 黄色一级片免费在线观看 | 免费网站看毛片 | 欧美一区2区三区4区公司二百 | arabxxxxvideos | 男女污污视频网站 | 亚州精品在线视频 | 国内精品久久久久久2021浪潮 | 国产精品久久久久久久四虎电影 | 国产精品久久久久久久四虎电影 | 久久免费看毛片 | 精品久久久一二三区播放播放播放视频 | 亚洲一区成人在线 | 国产瑟瑟视频 | 一级黄色在线免费观看 |