要增加resize事件,
在resize事件中调用这个MoveLayer方法
在resize事件中调用这个MoveLayer方法
解决方案 »
- 有人知道DOM是什么吗?
- js如何将超过url传参长度的参数传给window.open或者对话框
- js 怎么给标签添加事件
- 求助解析JQ源码“for ( ; cur; cur = cur[dir] )”意思?
- 这个代码 帮我修改下 在 firefox 里不能运行哦 55555 帮帮忙高手们
- 求教select美化问题?
- 网页中加入flash,关闭flash为什么flash的声音没有关闭!该怎么做
- 过年好,请各位高手帮帮忙,关于JS的日期取值问题,在线等。
- 求一替换用的正则表达式
- 请检查错误 百思不得其解
- addEventListener什么地方能用的到?
- 用JS+XML+HTML做的随机测试生成,可是试题显示不出来,实在找不到错误,憋死我了
你的代码看不懂 ps:完整的例子都没贴出来
<div id="ss" style=" left:10px; top:10px; width:300px; height:50px; background:#FFFF66; position:absolute"></div>
hehe<br>hehe<br>hehe<br>hehe<br>hehe<br>hehe<br>hehe<br>hehe<br>hehe<br>hehe<br>hehe<br>hehe<br>hehe<br>hehe<br>hehe<br>hehe<br>hehe<br>hehe<br>hehe<br>hehe<br>hehe<br>hehe<br>hehe<br>hehe<br>hehe<br>hehe<br>hehe<br>hehe<br>hehe<br>hehe<br>hehe<br>hehe<br>hehe<br>hehe<br>hehe<br>hehe<script>
window.onresize = gg;
window.onscroll = gg;
function gg(){
document.getElementById("ss").style.top = 10 + parseInt(document.body.scrollTop,10)
document.getElementById("ss").style.left =10 + parseInt(document.body.scrollLeft,10) }
</script>
一个简单的例子!~
<html>
<head>
<style>
body
{
margin:0px;
}
#divFloat
{
width:100px;
height:60px;
border:solid 1px black;
position:fixed !important;/*w3c*/
position:absolute;/*ie*/
right:0px;
top:expression(this.offsetParent.scrollTop);
}
</style>
</head>
<body>
<div id="divFloat"></div>
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
</body>
</html>
在css+div制作的网页中位置无法改变。
还望进一步指教。
IE 7.0 不知道支不支持,IE 6.0是不支持的.可以通过先 position:absolute;设定绝对定位 把对像放在 BODY下面,不要放在其它容器下面.因为position: absolute;也是受上级容器影响
然后用 .style.top;left right bottom 等来改变对像位置
最好不要用resize事件来执行. resize会有延迟. 用setInterval //重复执行来定位
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
按楼主的代码这么改下
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body style="color:#eee">
<script>
function initAds(layerID)
{
document.getElementById(layerID).style.top= -200+'px';//设置onLoad事件激发以后,层相对于固定后的y方向位置
document.getElementById(layerID).style.visibility ='visible'//设置层为可见
setInterval(MoveLayer, 10);//设置25毫秒后再调用函数MoveLayers()
} function MoveLayer()
{
var layerName = document.getElementById("AdLayer");
var xs = 100;
var ys = 100 + document.documentElement.scrollTop;//层固定于浏览器的y方向位置
var ys = ys + (ys - layerName.offsetTop)*.40;
layerName.style.top = ys + 'px';
layerName.style.left = xs + 'px'; ;//移动层
}
document.write(" <div id='AdLayer' style='color:#00f;position:absolute;z-index:20; width:100px; text-align:center;'> abcd</div>");
initAds('AdLayer');
</script>
<br />***<br />***<br />***<br />***<br />***<br />***<br />***<br />***
<br />***<br />***<br />***<br />***<br />***<br />***<br />***<br />***
<br />***<br />***<br />***<br />***<br />***<br />***<br />***<br />***
</body>
</html>