成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

用JavaScript制作連續滾動字幕

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

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

51CTO推薦專題:JavaScript網頁開發指南

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

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

  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. }  
  20. //這時候,內容區的高度是無法讀取了。下面輸出一個不可見的層"templayer",稍后將內容復制到里面:  
  21. document.write('<div id="templayer" 
  22. style="position:absolute;z-index:1;visibility:hidden"></div>');  
  23. function init(){ //初始化滾動內容  
  24. //多次復制原內容到"templayer",直到"templayer"的高度大于內容區高度:  
  25. while(templayer.offsetHeight<marqueesHeight){  
  26. templayer.innerHTML+=marquees.innerHTML;  
  27. //把"templayer"的內容的“兩倍”復制回原內容區:  
  28. marquees.innerHTML=templayer.innerHTML+templayer.innerHTML;  
  29. //設置連續超時,調用"scrollUp()"函數驅動滾動條:  
  30. setInterval("scrollUp()",10);  
  31. }  
  32. document.body.onload=init;  
  33. preTop=0; //這個變量用于判斷滾動條是否已經到了盡頭  
  34. function scrollUp(){ //滾動條的驅動函數  
  35. if(stopscroll==truereturn//如果變量"stopscroll"為真,則停止滾動   
  36. preTop=marquees.scrollTop; //記錄滾動前的滾動條位置  
  37. marquees.scrollTop+=1; //滾動條向下移動一個像素  
  38. //如果滾動條不動了,則向上滾動到和當前畫面一樣的位置  
  39. //當然不僅如此,同樣還要向下滾動一個像素(+1):  
  40. if(preTop==marquees.scrollTop){  
  41. marquees.scrollTop=templayer.offsetHeight-marqueesHeight+1;  
  42. }  
  43. }  
  44. -->  
  45. </script> 

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

原文鏈接:http://tech.sina.com.cn/c/2003-04-18/18689.html

【編輯推薦】

  1. 用JavaScript編寫程序實現文本滾動
  2. 最流行的JavaScript框架間對比信息表
  3. 一道面試題引發的面壁:認識JavaScript的settimeout和異步
  4. JavaScript實現搜索框智能提示上下移動效果
  5. JavaScript重構深入剖析
責任編輯:陳貽新 來源: 太平洋電腦網
相關推薦

2020-09-07 13:02:22

地球Python代碼

2011-06-27 13:57:42

JavaScript

2014-04-29 10:39:27

CSS3JavaScript

2011-07-22 13:30:52

JavaScript

2020-12-14 08:05:28

Javascript隨機canvas

2009-06-10 21:48:03

滾動圖片Javascript特

2021-04-29 14:32:24

鴻蒙HarmonyOS應用

2010-09-30 15:24:31

滾動條Javascript

2021-02-20 08:55:58

PythonGitHub互聯網

2017-08-29 10:55:15

AEbodymovinhtml

2023-06-28 06:59:41

2021-01-28 18:06:49

JavaScriptCookieWeb

2021-03-27 11:02:04

JavaScript隊列編程語言

2023-06-26 17:45:14

編程語言ChatGPTJavaScript

2012-06-12 13:11:06

JavaScript

2010-04-20 13:45:00

WPS表格

2012-05-14 14:56:30

HTML5

2010-09-09 11:55:36

SQL函數標簽

2011-01-13 12:33:59

javascriptweb

2011-11-16 13:22:38

Jscex
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美成人a∨高清免费观看 老司机午夜性大片 | 国产日产欧产精品精品推荐蛮挑 | 日韩精品在线看 | 视频三区| 国产一区二区美女 | 99精品国产成人一区二区 | 青青久久 | 99久久电影| 日韩一区二区三区在线播放 | 欧美国产精品一区二区三区 | 韩日在线| 久久久999免费视频 999久久久久久久久6666 | 日韩精品999| 激情三区 | 国产福利在线播放麻豆 | 国产成人艳妇aa视频在线 | 九九成人| 亚洲欧美激情国产综合久久久 | 国产在线一区二区三区 | 国产精品视频97 | 亚洲精品在线免费观看视频 | 国产亚洲欧美另类一区二区三区 | 中文字幕 在线观看 | 亚洲视频欧美视频 | 精品自拍视频 | 日韩av免费在线观看 | 亚洲狠狠 | 日韩欧美三区 | 区一区二在线观看 | 中文在线一区二区 | 国产精品视频在线观看 | 欧美精品一区二区三区四区 在线 | 成人美女免费网站视频 | 久久久久久久av | 日韩精品视频中文字幕 | 久久久精品一区二区三区 | 成人在线视频免费播放 | 五月激情婷婷在线 | 欧美日韩综合视频 | 日韩在线一区二区 | 日韩精品一区二区三区中文在线 |