Firefox下的自动跟随滚动css样式
今天写一个小页面,页面上有几个小button需要自动跟随页面滚动。这应该是很成熟的技术了,我想。一点html搭配上几行javascript,或许还有一些样式表,就能搞定这个功能。
首先是用css,一个expression完成。
CODE:
-
<style>
-
#scrollDiv{position:absolute;right:0px;top:expression(eval(document.body.scrollTop));}
-
</style>
-
<div id="scrollDiv">请让俺自动滚动</div>
在IE下,正常运作,在Firefox下却是毫无动静。然后我尝试用javascript,每30毫秒运行一次,试图让scrollDiv自动跟随,效率低下不说,关键是根本没能奏效。搜索了一番,换回css解决方式:
CODE:
-
<style>
-
#scrollDiv{position:fixed;right:0px;top:0px;}
-
* html #scrollDiv{top:expression(eval(document.body.scrollTop));} /*ie 5.5+认识俺*/
-
</style>
-
<div id="scrollDiv">请让俺自动滚动</div>
上面html就能工作了。
平常专心写php,还真没留意样式表还有这么多花样。向你致敬,一贯支持工作的美工大人!!
作者: Volcano 发表于August 28, 2006 at 8:41 pm
todd 于 2006-08-28 @ 22:36:43 留言 :
建议不要过多使用expression,比较消耗资源。
volcano 于 2006-08-29 @ 06:52:46 留言 :
本来打算使用window.setInternal来实现的,这个可能更消耗资源
小贝儿 于 2006-12-12 @ 11:50:12 留言 :
急急!!(css中使用expression)怎么让下面的htm能在FireFox中工作?
.CardTR { display: expression( document.getElementById ( “rdoCard” ).checked ? “block” : “none” ); }
普通会员注册
持卡会员注册
请输会员卡号:
*
小贝儿 于 2006-12-12 @ 11:55:49 留言 :
急急!!(css中使用expression)怎么让下面的htm能在FireFox中工作?
<head>
<style>
.CardTR { display: expression( document.getElementById ( “rdoCard” ).checked ? “block” : “none” ); }
</style>
</head>
<body>
<input id=”rdoCommon” type=”radio” name=”rdoType” checked>普通会员注册
<input id=”rdoCard” type=”radio” name=”rdoType”>持卡会员注册
<table>
<TR class=”CardTR”>
<TD align=”right” height=”35″>请输会员卡号:</TD>
<TD align=”left” height=”35″><INPUT class=”small” id=”txtCardNo” size=”15″ runat=”server”></TD>
<TD align=”left” colSpan=”3″ height=”35″><FONT color=”#fe8002″>*</FONT></TD>
</TR>
</table>
</body>
volcano 于 2006-12-12 @ 20:56:24 留言 :
一定要用样式表来实现么?javascript在IE/Firefox下都能干的很好
Rwing 于 2007-01-09 @ 20:46:38 留言 :
貌似标准不支持 style里写js吧?
volcano 于 2007-01-11 @ 09:11:36 留言 :
事实是ie支持,firefox不支持,标准这东西还得以事实为依准
Zandy 于 2007-03-21 @ 10:19:11 留言 :
试了下,发现第二个在IE下不行,ff可以。稍做修改,可以。见下:
#scrollDiv{
position: fixed;
right: 0px;
top: 30px;
}
/* 下面 ie 5.5+ */
* html #scrollDiv{
position: absolute;
top:expression(eval(document.body.scrollTop)+30);
}
请让俺自动滚动