再次更新!MSClass (Class Of Marquee Scroll通用不間斷滾動(dòng)JS封裝類 Ver 1.6)
更新時(shí)間:2007年02月05日 00:00:00 作者:
再次更新!MSClass (Class Of Marquee Scroll通用不間斷滾動(dòng)JS封裝類 Ver 1.6)
/*MSClass (Class Of Marquee Scroll通用不間斷滾動(dòng)JS封裝類) Ver 1.6*\
制作時(shí)間:2006-08-29 (Ver 0.5)
發(fā)布時(shí)間:2006-08-31 (Ver 0.8)
更新時(shí)間:2007-01-31 (Ver 1.6)
更新說明: + 加入功能 * 修正、完善
1.6.070131
+ 禁止鼠標(biāo)控制暫?;蚶^續(xù) (將第9個(gè)參數(shù)設(shè)置為-1或者動(dòng)態(tài)賦值將ScrollSetp設(shè)置為-1)
+ 判斷是否可以滾動(dòng) (若內(nèi)容區(qū)域小于顯示區(qū)域,則自動(dòng)取消滾動(dòng))
+ 跳過初始化錯(cuò)誤 (避免引起其它滾動(dòng)的停止)
+ 默認(rèn)值 (除容器ID必選外,其他參數(shù)均可根據(jù)情況進(jìn)行選擇設(shè)置)
+ 參數(shù)動(dòng)態(tài)賦值 (方向可用英文表示top|bottom|left|right,使其更直觀、方便)
* 文字滾動(dòng)不準(zhǔn)確 (本次更新主要目的解決此Bug,感謝周珺參與測試)
1.4.061211
+ 鼠標(biāo)懸停改變滾動(dòng)方向 (鼠標(biāo)懸??刂谱笥覞L動(dòng))
* 由于文檔下載過慢而導(dǎo)致獲取的高度/寬度不準(zhǔn)確
* 瀏覽器兼容問題 (IE、FF、Opera、NS、MYIE)
1.2.060922
+ 指定范圍間歇滾動(dòng)
* 程序調(diào)整
* 連續(xù)間歇滾動(dòng)停止的錯(cuò)誤
1.0.060901
+ 向下、向右滾動(dòng)
+ 開始等待時(shí)間
+ 連續(xù)滾動(dòng)
* 調(diào)整時(shí)間單位
* 滾動(dòng)誤差
* 隨機(jī)死循環(huán)
* 加強(qiáng)性能
* 程序優(yōu)化
0.8.060829
翻屏不間斷向上、向左滾動(dòng)
演示地址:http://www.popub.net/script/MSClass.html
下載地址:http://www.popub.net/script/MSClass.js
應(yīng)用說明:頁面包含<script type="text/javascript" src="MSClass.js"></script>
創(chuàng)建實(shí)例:
//參數(shù)直接賦值法
new Marquee("marquee")
new Marquee("marquee","top")
......
new Marquee("marquee",0,1,760,52)
new Marquee("marquee","top",1,760,52,50,5000)
......
new Marquee("marquee",0,1,760,104,50,5000,3000,52)
new Marquee("marquee",null,null,760,104,null,5000,null,-1)
//參數(shù)動(dòng)態(tài)賦值法
var marquee1 = new Marquee("marquee") *此參數(shù)必選
marquee1.Direction = "top"; 或者 marquee1.Direction = 0;
marquee1.Step = 1;
marquee1.Width = 760;
marquee1.Height = 52;
marquee1.Timer = 50;
marquee1.DelayTime = 5000;
marquee1.WaitTime = 3000;
marquee1.ScrollStep = 52;
marquee1.Start();
參數(shù)說明:
ID "marquee" 容器ID (必選)
Direction (0) 滾動(dòng)方向 (可選,默認(rèn)為0向上滾動(dòng)) 可設(shè)置的值包括:0,1,2,3,"top","bottom","left","right" (0向上 1向下 2向左 3向右)
Step (1) 滾動(dòng)的步長 (可選,默認(rèn)值為2,數(shù)值越大,滾動(dòng)越快)
Width (760) 容器可視寬度 (可選,默認(rèn)值為容器初始設(shè)置的寬度)
Height (52) 容器可視高度 (可選,默認(rèn)值為容器初始設(shè)置的高度)
Timer (50) 定時(shí)器 (可選,默認(rèn)值為30,數(shù)值越小,滾動(dòng)的速度越快,1000=1秒,建議不小于20)
DelayTime (5000) 間歇停頓延遲時(shí)間(可選,默認(rèn)為0不停頓,1000=1秒)
WaitTime (3000) 開始時(shí)的等待時(shí)間(可選,默認(rèn)或0為不等待,1000=1秒)
ScrollStep (52) 間歇滾動(dòng)間距 (可選,默認(rèn)為翻屏寬/高度,該數(shù)值與延遲均為0則為鼠標(biāo)懸??刂?-1禁止鼠標(biāo)控制)
使用建議:
1、建議直接賦予容器的顯示區(qū)域的寬度和高度,如(<div id="marquee" style="width:760px;height:52px;">......</div>)
2、建議為容器添加樣式overflow = auto,如(<div id="marquee" style="width:760px;height:52px;overflow:auto;">......</div>)
3、為了更準(zhǔn)確的獲取滾動(dòng)區(qū)域的寬度和高度,請盡可能將各滾動(dòng)單位直接賦予正確寬高度
4、對于TABLE標(biāo)記的橫向滾動(dòng),需要對TABLE添加樣式display = inline,如(<div id="marquee" style="width:760px;height:52px;overflow:auto;"><table style="display:inline">......</table></div>)
5、對于翻屏滾動(dòng)或間歇滾動(dòng),要注意各滾動(dòng)單位間的間距,同時(shí)需要對容器的可視高度和可視寬度做好準(zhǔn)確的設(shè)置,對于各滾動(dòng)單位間的間距可以通過設(shè)置行間距或者單元格的高寬度來進(jìn)行調(diào)整
6、對于LI自動(dòng)換行的問題暫時(shí)沒有更好的解決辦法,建議將其轉(zhuǎn)換成表格(TABLE)的形式來達(dá)到同等的效果
7、針對橫向滾動(dòng)的文字段落,如果最末端是以空格" "結(jié)束的,請將空格" "轉(zhuǎn)換成" "
8、鼠標(biāo)懸停滾動(dòng)思想源自Flash,所以有一定的局限性(容器內(nèi)僅允許用圖片<img>或者帶鏈接的圖片<a><img></a>的形式,并需要禁止其自動(dòng)換行)
感 謝:
周珺 zhoujun#yuchengtech.com (文字滾動(dòng)跳行的bug) 2007/01/31
自本程序發(fā)布以來,收到不少朋友的郵件,提出了很多意見和建議,感謝大家的支持!
很不錯(cuò)。
不過演示代碼的new Marquee("marquee",0,1,760,52,50,5000,3000)那么多參數(shù)看了讓人有點(diǎn)迷糊,呵呵,做成這種模式可能讓人看得懂一些:
function Marquee()
{
this.ID = document.getElementById(arguments[0]);
this.Direction = arguments[1];
this.Step = arguments[2];
this.Width = arguments[3];
this.Height = arguments[4];
this.Timer = arguments[5];
this.WaitTime = arguments[6];
this.StopTime = arguments[7];
this.CTL = this.StartID = this.Stop = this.MouseOver = 0;
this.ID.style.overflowX = this.ID.style.overflowY = "hidden";
this.ID.noWrap = true;
this.ID.style.width = this.Width;
this.ID.style.height = this.Height;
this.ID.innerHTML += this.ID.innerHTML;
}
然后使用:
var m = new Marquee;
m.ID = document.getElementById("marquee");
m.Direction = 0;
m.Step = 1;
m.Width = 760;
// ......
m.Start(m, m.Timer, m.WaitTime, m.StopTime);
m.Start的參數(shù)好像都和m有關(guān),可以省略掉?
制作時(shí)間:2006-08-29 (Ver 0.5)
發(fā)布時(shí)間:2006-08-31 (Ver 0.8)
更新時(shí)間:2007-01-31 (Ver 1.6)
更新說明: + 加入功能 * 修正、完善
1.6.070131
+ 禁止鼠標(biāo)控制暫?;蚶^續(xù) (將第9個(gè)參數(shù)設(shè)置為-1或者動(dòng)態(tài)賦值將ScrollSetp設(shè)置為-1)
+ 判斷是否可以滾動(dòng) (若內(nèi)容區(qū)域小于顯示區(qū)域,則自動(dòng)取消滾動(dòng))
+ 跳過初始化錯(cuò)誤 (避免引起其它滾動(dòng)的停止)
+ 默認(rèn)值 (除容器ID必選外,其他參數(shù)均可根據(jù)情況進(jìn)行選擇設(shè)置)
+ 參數(shù)動(dòng)態(tài)賦值 (方向可用英文表示top|bottom|left|right,使其更直觀、方便)
* 文字滾動(dòng)不準(zhǔn)確 (本次更新主要目的解決此Bug,感謝周珺參與測試)
1.4.061211
+ 鼠標(biāo)懸停改變滾動(dòng)方向 (鼠標(biāo)懸??刂谱笥覞L動(dòng))
* 由于文檔下載過慢而導(dǎo)致獲取的高度/寬度不準(zhǔn)確
* 瀏覽器兼容問題 (IE、FF、Opera、NS、MYIE)
1.2.060922
+ 指定范圍間歇滾動(dòng)
* 程序調(diào)整
* 連續(xù)間歇滾動(dòng)停止的錯(cuò)誤
1.0.060901
+ 向下、向右滾動(dòng)
+ 開始等待時(shí)間
+ 連續(xù)滾動(dòng)
* 調(diào)整時(shí)間單位
* 滾動(dòng)誤差
* 隨機(jī)死循環(huán)
* 加強(qiáng)性能
* 程序優(yōu)化
0.8.060829
翻屏不間斷向上、向左滾動(dòng)
演示地址:http://www.popub.net/script/MSClass.html
下載地址:http://www.popub.net/script/MSClass.js
應(yīng)用說明:頁面包含<script type="text/javascript" src="MSClass.js"></script>
創(chuàng)建實(shí)例:
//參數(shù)直接賦值法
new Marquee("marquee")
new Marquee("marquee","top")
......
new Marquee("marquee",0,1,760,52)
new Marquee("marquee","top",1,760,52,50,5000)
......
new Marquee("marquee",0,1,760,104,50,5000,3000,52)
new Marquee("marquee",null,null,760,104,null,5000,null,-1)
//參數(shù)動(dòng)態(tài)賦值法
var marquee1 = new Marquee("marquee") *此參數(shù)必選
marquee1.Direction = "top"; 或者 marquee1.Direction = 0;
marquee1.Step = 1;
marquee1.Width = 760;
marquee1.Height = 52;
marquee1.Timer = 50;
marquee1.DelayTime = 5000;
marquee1.WaitTime = 3000;
marquee1.ScrollStep = 52;
marquee1.Start();
參數(shù)說明:
ID "marquee" 容器ID (必選)
Direction (0) 滾動(dòng)方向 (可選,默認(rèn)為0向上滾動(dòng)) 可設(shè)置的值包括:0,1,2,3,"top","bottom","left","right" (0向上 1向下 2向左 3向右)
Step (1) 滾動(dòng)的步長 (可選,默認(rèn)值為2,數(shù)值越大,滾動(dòng)越快)
Width (760) 容器可視寬度 (可選,默認(rèn)值為容器初始設(shè)置的寬度)
Height (52) 容器可視高度 (可選,默認(rèn)值為容器初始設(shè)置的高度)
Timer (50) 定時(shí)器 (可選,默認(rèn)值為30,數(shù)值越小,滾動(dòng)的速度越快,1000=1秒,建議不小于20)
DelayTime (5000) 間歇停頓延遲時(shí)間(可選,默認(rèn)為0不停頓,1000=1秒)
WaitTime (3000) 開始時(shí)的等待時(shí)間(可選,默認(rèn)或0為不等待,1000=1秒)
ScrollStep (52) 間歇滾動(dòng)間距 (可選,默認(rèn)為翻屏寬/高度,該數(shù)值與延遲均為0則為鼠標(biāo)懸??刂?-1禁止鼠標(biāo)控制)
使用建議:
1、建議直接賦予容器的顯示區(qū)域的寬度和高度,如(<div id="marquee" style="width:760px;height:52px;">......</div>)
2、建議為容器添加樣式overflow = auto,如(<div id="marquee" style="width:760px;height:52px;overflow:auto;">......</div>)
3、為了更準(zhǔn)確的獲取滾動(dòng)區(qū)域的寬度和高度,請盡可能將各滾動(dòng)單位直接賦予正確寬高度
4、對于TABLE標(biāo)記的橫向滾動(dòng),需要對TABLE添加樣式display = inline,如(<div id="marquee" style="width:760px;height:52px;overflow:auto;"><table style="display:inline">......</table></div>)
5、對于翻屏滾動(dòng)或間歇滾動(dòng),要注意各滾動(dòng)單位間的間距,同時(shí)需要對容器的可視高度和可視寬度做好準(zhǔn)確的設(shè)置,對于各滾動(dòng)單位間的間距可以通過設(shè)置行間距或者單元格的高寬度來進(jìn)行調(diào)整
6、對于LI自動(dòng)換行的問題暫時(shí)沒有更好的解決辦法,建議將其轉(zhuǎn)換成表格(TABLE)的形式來達(dá)到同等的效果
7、針對橫向滾動(dòng)的文字段落,如果最末端是以空格" "結(jié)束的,請將空格" "轉(zhuǎn)換成" "
8、鼠標(biāo)懸停滾動(dòng)思想源自Flash,所以有一定的局限性(容器內(nèi)僅允許用圖片<img>或者帶鏈接的圖片<a><img></a>的形式,并需要禁止其自動(dòng)換行)
感 謝:
周珺 zhoujun#yuchengtech.com (文字滾動(dòng)跳行的bug) 2007/01/31
自本程序發(fā)布以來,收到不少朋友的郵件,提出了很多意見和建議,感謝大家的支持!
很不錯(cuò)。
不過演示代碼的new Marquee("marquee",0,1,760,52,50,5000,3000)那么多參數(shù)看了讓人有點(diǎn)迷糊,呵呵,做成這種模式可能讓人看得懂一些:
復(fù)制代碼 代碼如下:
function Marquee()
{
this.ID = document.getElementById(arguments[0]);
this.Direction = arguments[1];
this.Step = arguments[2];
this.Width = arguments[3];
this.Height = arguments[4];
this.Timer = arguments[5];
this.WaitTime = arguments[6];
this.StopTime = arguments[7];
this.CTL = this.StartID = this.Stop = this.MouseOver = 0;
this.ID.style.overflowX = this.ID.style.overflowY = "hidden";
this.ID.noWrap = true;
this.ID.style.width = this.Width;
this.ID.style.height = this.Height;
this.ID.innerHTML += this.ID.innerHTML;
}
然后使用:
復(fù)制代碼 代碼如下:
var m = new Marquee;
m.ID = document.getElementById("marquee");
m.Direction = 0;
m.Step = 1;
m.Width = 760;
// ......
m.Start(m, m.Timer, m.WaitTime, m.StopTime);
m.Start的參數(shù)好像都和m有關(guān),可以省略掉?
您可能感興趣的文章:
- JS與HTML結(jié)合使用marquee標(biāo)簽實(shí)現(xiàn)無縫滾動(dòng)效果代碼
- JQuery插件Marquee.js實(shí)現(xiàn)無縫滾動(dòng)效果
- div+css+js實(shí)現(xiàn)無縫滾動(dòng)類似marquee無縫滾動(dòng)兼容firefox
- 分別用marquee和div+js實(shí)現(xiàn)首尾相連循環(huán)滾動(dòng)效果,僅3行代碼
- js實(shí)現(xiàn)的類marquee水平循環(huán)滾動(dòng)
- javascript 模擬Marquee文字向左均勻滾動(dòng)代碼
- Class Of Marquee Scroll通用不間斷滾動(dòng)JS封裝類
- 用javascript實(shí)現(xiàn)代替marquee的滾動(dòng)字幕效果代碼
- 用javascript代替marquee的滾動(dòng)字幕效果代碼
- JS實(shí)現(xiàn)無縫循環(huán)marquee滾動(dòng)效果
相關(guān)文章
5分鐘快速掌握J(rèn)S中var、let和const的異同
在javascript中有三種聲明變量的方式:var、let、const,這個(gè)是對新手們來說應(yīng)該掌握的知識(shí),所以這篇文章主要給大家介紹了關(guān)于如何通過5分鐘快速掌握J(rèn)S中var,let和const的異同,需要的朋友可以參考下2018-09-09
一個(gè)關(guān)于javascript匿名函數(shù)的問題分析
一個(gè)關(guān)于javascript匿名函數(shù)的問題分析,學(xué)習(xí)js的朋友可以參考下2012-03-03
url傳遞的參數(shù)值中包含&時(shí),url自動(dòng)截?cái)鄦栴}的解決方法
下面小編就為大家?guī)硪黄猽rl傳遞的參數(shù)值中包含&時(shí),url自動(dòng)截?cái)鄦栴}的解決方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-08-08
JavaScript面向?qū)ο蟮某绦蛟O(shè)計(jì)(犯迷糊的小羊)
這篇文章主要介紹了JavaScript面向?qū)ο蟮某绦蛟O(shè)計(jì)(犯迷糊的小羊),需要的朋友可以參考下2018-05-05
json數(shù)據(jù)與字符串的相互轉(zhuǎn)化示例
json與字符串之間的轉(zhuǎn)換,在使用中經(jīng)常會(huì)遇到,本文有個(gè)不錯(cuò)的示例,大家可以參考下,或許會(huì)有所幫助2013-09-09

