关于文字滚动的一段js代码,现在只能在ie下滚动,而火狐,不兼容个,测试时,发现,火狐无法取得
style.hight;取的数值为空。高手指教,急用。<scriptlanguage="javascript"><!--marqueesHeight=500;//内容区高...
style.hight;取的数值为空。高手指教,急用。
<script language="javascript">
<!--
marqueesHeight=500; //内容区高度
stopscroll=false; //这个变量控制是否停止滚动
var marq=document.getElementById("marquees");
with(marq){
marq.style.width=334; //于是我们可以将它的宽度设为0,因为它会被撑大
marq.style.height=marqueesHeight;
marq.style.overflowY="hidden"; //滚动条不可见
marq.onmouseover=new Function("stopscroll=true"); //鼠标经过,停止滚动
marq.onmouseout=new Function("stopscroll=false"); //鼠标离开,开始滚动
}
//这时候,内容区的高度是无法读取了。下面输出一个不可见的层"templayer",稍后将内容复制到里面:
document.write('<div id="templayer" style="position:absolute;z-index:1;visibility:hidden"></div>');
var t=document.getElementById("templayer");
function init(){ //初始化滚动内容
//多次复制原内容到"templayer",直到"templayer"的高度大于内容区高度:
while(t.offsetHeight<marqueesHeight){
t.innerHTML+=marq.innerHTML;
} //把"templayer"的内容的“两倍”复制回原内容区:
marq.innerHTML=t.innerHTML+t.innerHTML;
//设置连续超时,调用"scrollUp()"函数驱动滚动条:
setInterval("scrollUp()",20);
}
document.body.onload=init;
preTop=0; //这个变量用于判断滚动条是否已经到了尽头
function scrollUp(){ //滚动条的驱动函数
if(stopscroll==true) return; //如果变量"stopscroll"为真,则停止滚动
preTop=marq.scrollTop; //记录滚动前的滚动条位置
marq.scrollTop+=1; //滚动条向下移动一个像素
//如果滚动条不动了,则向上滚动到和当前画面一样的位置
//当然不仅如此,同样还要向下滚动一个像素(+1):
if(preTop==marq.scrollTop){
marq.scrollTop=t.offsetHeight-marqueesHeight+1;
}
}
-->
</script> 展开
<script language="javascript">
<!--
marqueesHeight=500; //内容区高度
stopscroll=false; //这个变量控制是否停止滚动
var marq=document.getElementById("marquees");
with(marq){
marq.style.width=334; //于是我们可以将它的宽度设为0,因为它会被撑大
marq.style.height=marqueesHeight;
marq.style.overflowY="hidden"; //滚动条不可见
marq.onmouseover=new Function("stopscroll=true"); //鼠标经过,停止滚动
marq.onmouseout=new Function("stopscroll=false"); //鼠标离开,开始滚动
}
//这时候,内容区的高度是无法读取了。下面输出一个不可见的层"templayer",稍后将内容复制到里面:
document.write('<div id="templayer" style="position:absolute;z-index:1;visibility:hidden"></div>');
var t=document.getElementById("templayer");
function init(){ //初始化滚动内容
//多次复制原内容到"templayer",直到"templayer"的高度大于内容区高度:
while(t.offsetHeight<marqueesHeight){
t.innerHTML+=marq.innerHTML;
} //把"templayer"的内容的“两倍”复制回原内容区:
marq.innerHTML=t.innerHTML+t.innerHTML;
//设置连续超时,调用"scrollUp()"函数驱动滚动条:
setInterval("scrollUp()",20);
}
document.body.onload=init;
preTop=0; //这个变量用于判断滚动条是否已经到了尽头
function scrollUp(){ //滚动条的驱动函数
if(stopscroll==true) return; //如果变量"stopscroll"为真,则停止滚动
preTop=marq.scrollTop; //记录滚动前的滚动条位置
marq.scrollTop+=1; //滚动条向下移动一个像素
//如果滚动条不动了,则向上滚动到和当前画面一样的位置
//当然不仅如此,同样还要向下滚动一个像素(+1):
if(preTop==marq.scrollTop){
marq.scrollTop=t.offsetHeight-marqueesHeight+1;
}
}
-->
</script> 展开
3个回答
展开全部
您好!很高兴为您答疑。
这是因为style.hight这种写法并不符合w3c标准,其为ie浏览器下所独有,因此如果要这段代码在火狐下使用,您还需要将其采用getAttribute方法进行改造。
如果对我们的回答存在任何疑问,欢迎继续问询。
这是因为style.hight这种写法并不符合w3c标准,其为ie浏览器下所独有,因此如果要这段代码在火狐下使用,您还需要将其采用getAttribute方法进行改造。
如果对我们的回答存在任何疑问,欢迎继续问询。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-05-06
展开全部
这里有一个无缝滚动效果
方向可以自己设置
可以设置定高定宽停顿
你把文字改成图片就行
里面有源码可以参考
方向可以自己设置
可以设置定高定宽停顿
你把文字改成图片就行
里面有源码可以参考
参考资料: http://www.blueidea.com/common/shoutbox/redir.asp?3=y&id=12229
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ie下滚动
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询