逐行滚动文字效果的Javascript实现(转)

/* 本程序根据21cn的一个版本改进而来。
* 原版本实现的思路是:在一个大小只有一行的层里生成一个表格,然后使用
* TABLE的scrollTop来实现逐行滚动。但这个方法只能在IE中正常运行,在Mozzila 就无法滚动。
* 改进后使用 IFrame 来代替原来的层,使用BODY的scrollTop来实现滚动。
* BTW:DannyKang 是我英文名写法。
*/

//FILE: scrolltext.js CREATED: DannyKang @ 2004-5-19
var stopscroll=false;
var preTop=0;
//var newTop=0;
var currentTop=0;
var stoptime=0;
var iInterval ;

function init_srolltext(){
document.body.scrollTop=0;
document.body.onmouseover = new Function("stopscroll=true");
document.body.onmouseout = new Function("stopscroll=false");
document.body.oncontextmenu = new Function("return false;");
document.body.onselectstart = new Function("return false;");
iInterval = setInterval("scrollUp()",25);
}

function scrollUp(){
if(stopscroll==true) return;
currentTop+=1; //每次滚动 1 个象素
if(currentTop==24){ //刚滚动完一行后(每行高23)
stoptime+=1; //停顿时间累计 1 个单位时间(25毫秒)
currentTop-=1; //滚动位移数恢复原值
if(stoptime==100){ //停顿时间累计 100 个单位时间后重新计算滚动位移和停顿时间
currentTop=0;
stoptime=0;
//if(confirm("One line end ...... ok to stop , cancel to go on.")){clearInterval(iInterval);}
}
}else{
document.body.scrollTop = preTop +1; //滚动 1 个象素
if(preTop< document.body.scrollTop){
preTop = document.body.scrollTop ;
}
else {//如果滚动到末尾了(滚动跟没滚一样)
preTop = 1
document.body.scrollTop = 1;
//if(confirm("scroll to all text ending.......["+preTop+"/"+document.body.scrollTop+"] ok to stop , cancel to go on.")){clearInterval(iInterval);}
}
}
}

init_srolltext(); //启动

/*调用页面的IFrame 写法*/

/*滚动内容的HTML页面 adtxt1.htm 源代码*/

滚动新闻



中山市“美好生活一瞬间”数码摄影比赛  
中国商业技师协会职业资格权威认证培训
“好山好水好儿女”中山文化名人推广月  
中山市劳动和社会保障工作情况通报
中山市“美好生活一瞬间”数码摄影比赛  
中国商业技师协会职业资格权威认证培训

<!-- 放在body内最后一行 --&gt


[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9650775/viewspace-922852/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9650775/viewspace-922852/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值