軟件是一系列按照特定順序組織的計算機數據和指令的集合。一般來講軟件被劃分為編程語言、系統軟件、應用軟件和介于這兩者之間的中間件。硬件是“計算機硬件”的簡稱。與“軟件”相對,電子計算機系統中所有實體部件和設備的統稱。 如果需要制作連續滾動字幕就要用到跑馬燈的功能,而這樣的功能在很多地方都能用得到,并且我們一般都用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》 這樣就完成了,感覺做起來也不難吧。 硬件是實在的,有模有樣的。軟件是程序性的。是一系列的指令。有了軟件,硬件才會實現更豐富的功能。 |
溫馨提示:喜歡本站的話,請收藏一下本站!