最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用JavaScript實現(xiàn)連續(xù)滾動字幕效果的方法

 更新時間:2015年07月07日 10:48:01   投稿:goldensun  
這篇文章主要介紹了使用JavaScript實現(xiàn)連續(xù)滾動字幕效果的方法,文中給出了瀏覽器端運行的示例腳本,需要的朋友可以參考下

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

  下面為你介紹這是如何實現(xiàn)的。

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

<div id="marquees"> <!-- 這些是字幕的內(nèi)容,你可以任意定義 --> <a href="#">鏈接一</a>
<br> <a href="#">鏈接二</a>
<br> <a href="#">鏈接三</a>
<br> <a href="#">鏈接四</a>
<br> <!-- 字幕內(nèi)容結(jié)束 -->
</div>
<!-- 以下是java-script代碼 -->
<script language="java-script">
<!--
marqueesHeight=200; //內(nèi)容區(qū)高度
stopscroll=false; //這個變量控制是否停止?jié)L動
with(marquees){
noWrap=true; //這句表內(nèi)容區(qū)不自動換行
style.width=0; //于是我們可以將它的寬度設為0,因為它會被撐大
style.height=marqueesHeight;
style.overflowY="hidden"; //滾動條不可見
onmouseover=new Function("stopscroll=true"); //鼠標經(jīng)過,停止?jié)L動
onmouseout=new Function("stopscroll=false"); //鼠標離開,開始滾動
}
//這時候,內(nèi)容區(qū)的高度是無法讀取了。下面輸出一個不可見的層"templayer",稍后將內(nèi)容復制到里面:
document.write('<div id="templayer"
style="position:absolute;z-index:1;visibility:hidden"></div>');
function init(){ //初始化滾動內(nèi)容
//多次復制原內(nèi)容到"templayer",直到"templayer"的高度大于內(nèi)容區(qū)高度:
while(templayer.offsetHeight<marqueesHeight){
templayer.innerHTML+=marquees.innerHTML;
} //把"templayer"的內(nèi)容的“兩倍”復制回原內(nèi)容區(qū):
marquees.innerHTML=templayer.innerHTML+templayer.innerHTML;
//設置連續(xù)超時,調(diào)用"scrollUp()"函數(shù)驅(qū)動滾動條:
setInterval("scrollUp()",10);
}
document.body.onload=init;
preTop=0; //這個變量用于判斷滾動條是否已經(jīng)到了盡頭
function scrollUp(){ //滾動條的驅(qū)動函數(shù)
if(stopscroll==true) return; //如果變量"stopscroll"為真,則停止?jié)L動
preTop=marquees.scrollTop; //記錄滾動前的滾動條位置
marquees.scrollTop+=1; //滾動條向下移動一個像素
//如果滾動條不動了,則向上滾動到和當前畫面一樣的位置
//當然不僅如此,同樣還要向下滾動一個像素(+1):
if(preTop==marquees.scrollTop){
marquees.scrollTop=templayer.offsetHeight-marqueesHeight+1;
}
}
-->
</script>

  

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

相關(guān)文章

最新評論

桃园市| 阿合奇县| 金华市| 千阳县| 湘乡市| 六安市| 清苑县| 潍坊市| 青川县| 卓资县| 濮阳市| 沾益县| 和林格尔县| 六盘水市| 东台市| 招远市| 甘孜县| 泊头市| 巩义市| 柳州市| 嘉荫县| 镇江市| 肃南| 绥中县| 西青区| 忻州市| 永胜县| 东兴市| 连南| 乌鲁木齐市| 平果县| 西藏| 民乐县| 茶陵县| 开鲁县| 建瓯市| 百色市| 佛坪县| 乌鲁木齐县| 邓州市| 合山市|