javascript滚动条位置控制
时间:2010-09-09 来源:xue2
做页面的时候可能会用到位置固定的层,读取document.body.scrollTop来设置层的位置,像这样, window.onscroll=function () { var oFix=document.getElementById("divfix"); oFix.style.top=document.body.scrollTop+"px"; } 可是怎么没有达到预期效果呢,输出document.body.scrollTop的值一看,一直都是0.原来是DTD的问题,要是页面直接用<html>开头的话就没有问题了.但是要符合web标准,DTD当然是不能少的.使用DTD时用document.documentElement.scrollTop代替document.body.scrollTop就可以了 window.onscroll=function () { var oFix=document.getElementById("divfix"); oFix.style.top=document.documentElement.scrollTop+"px"; } |
javascript 全屏显示和iframe滚动
最近做个 简单的触摸屏程序,想在客户机上直接用ie打开窗口,不想再开发客户端的东西,就想办法把ie多余的东西全部屏蔽掉,代码如下:
<script language=\"javascript\">
window.opener=null;window.close();
self.close();
newwin=window.open('"+url+"','"+target+"','top=-5,toolbar=0,location=0,directories=0,menubar=0,scrollbars=0,resizable=0,status=0,copyhistory=0,fullscreen=1');
newwin.moveTo(-6,-30);//移动屏蔽ie bar部分
newwin.resizeTo(screen.availWidth,screen.availHeight);//移动到全屏
newwin.outerWidth=screen.availWidth;newwin.outerHeight=screen.availHeight;
</script>
在触摸屏上最好是把scrollbar都给彻底屏蔽掉,方法是:
在body中添加:style="OVERFLOW-Y:hidden;OVERFLOW-X:hidden;CURSOR:hand" 就可以了
如果是iframe,则 frameBorder="0" scrolling="no"
在页面中签入iframe,改变src,显示不同的页面,效果很不错,所有的scrollbar都屏蔽了,那滚频怎么办呢?
下面代码就可以解决掉
var currentpos,timer;
var direct,move;
function initialize(dir,m)
{ direct=dir; move=m; timer=setInterval('scrollwindow()',100); }
function sc()
{ clearInterval(timer); }
function scrollwindow()
{ currentpos=iframe.document.body.scrollTop;
if(direct=="up")
{ iframe.document.body.scrollTop=iframe.document.body.scrollTop-move; }
else
{ iframe.document.body.scrollTop=iframe.document.body.scrollTop+move; }
}
以上代码在ie 6上测试通过