DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> javascript 實現滾動效果代碼整理
javascript 實現滾動效果代碼整理
編輯:關於JavaScript     
1.先寫兩個最常用最簡潔的滾動代碼
代碼如下:
水平滾動:
<marquee direction="left" align="bottom" height="25" width="100%" onmouseout="this.start()" onmouseover="this.stop()" scrollamount="2" scrolldelay="1">水平滾動字幕內容</marquee>
垂直滾動:
<marquee direction="up" height="200" onmouseout="this.start()" onmouseover="this.stop()" scrollAmount="1" scrollDelay="1">垂直滾動字內容</marquee>
2.平穩不間斷滾動
復制代碼 代碼如下:
<SCRIPT LANGUAGE="JavaScript">
var tm=null
function newsScroll() {
var scrollimg=document.getElementById("scroll")
if(scrollimg.parentNode.scrollTop!=(scrollimg.clientHeight/2))
scrollimg.parentNode.scrollTop++;
else
scrollimg.parentNode.scrollTop=0
}
window.onload=function() {
tm=setInterval('newsScroll()',25)
}
function stop()
{
clearInterval(tm)
}
function start()
{
tm=setInterval('newsScroll()',25)
}
</SCRIPT>
/* stop() start() 不能和調用ID在同一個容器內, 如容器沒默認高度 要制定高度*/

3 有停留滾動
代碼示例:

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]
4:一個簡單的滾動代碼學習制作示例

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]
Js代碼說明:
JavaScript代碼:
復制代碼 代碼如下:
var s,sn=0,timer,slen,timer2;
//初始化設置
function scrollInit(){
s=getid("s1"); //獲取需要滾動內容的對象
s.scrollTop=0; //初始化滾動位置
slen=s.innerHTML.split("|"); //獲取滾動內容,並存入數組,以便顯示調用
s.innerHTML=""; //清空滾動對象內容
for(var i=0;i<slen.length;i++){s.innerHTML+=(slen[i]+"<br />");} //格式化輸出滾動內容
s.innerHTML+=slen[0];
timer2=setInterval(scrollstart,3000); //開始滾動
s.onmouseover=function(){clearInterval(timer2);clearInterval(timer);s.style.backgroundColor="#ccc";} //鼠標經過,停止滾動,改變樣式
s.onmouseout=function(){timer2=setInterval(scrollstart,3000);s.style.backgroundColor="#fff";} //鼠標移開,恢復滾動
}
//開啟滾動效果
function scrollstart(){
if(s.scrollTop>=(slen.length*20)){s.scrollTop=0;} //滾動內容到底時,重置內容位置
timer=setInterval(scrollexec,30); //執行滾動動畫效果
}
//滾動動畫效果
function scrollexec(){
if(sn<20){
sn++;
s.scrollTop++;
}else{
sn=0;
clearInterval(timer);
}
}
//通過ID獲取對象
function getid(id){return document.getElementById(id);}
//網頁加載後,執行初始化
window.onload=scrollInit;

原理解析:
1、首先給容器設定高度或寬度,比如div,設置div高20px;overflow:hidden;
2、容器高度設定後,內容的高度超出20px,超過部分溢出,被隱藏,scrollTop屬性可用,這一點可以用overflow:scroll來看效果;
3、改變容器的scrollTop(上下滾動)或scrollLeft(左右滾動)屬性的值,讓內容移動位置(滾動的原理);
4、到滾動的高度scrollTop大於或等於內容的高度時,設置scrollTop=0,讓內容返回原來的位置,重新開始滾動,無間斷循環滾動效果就出現了。
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved