<script type="text/javascript"> var div = document.getElementById("div"); function slideUp(){ slide(div,-10,0); } function slideDown(){ slide(div,10,500); }
var timer; function slide(ele,step,top){ if(!step){ return; } if(timer){ clearInterval(timer); } var t = ele.offsetTop || Number(ele.style.top.replace(/[^d]+$/i,"")); if(step < 0 && t <= top){ timer = null; return; } if(step > 0 && t >= top){ timer = null; return; } t+=step; ele.style.top = t+"px"; timer = setTimeout(function(){ slide(ele,step,top); },10); } </script> </body> </html>
要搭配使用position
父元素設個 position: relative; 試試
要搭配使用position
父元素設個 position: relative; 試試
----------------------------------------------
试过了,没用。我把那个要隐藏的bar放到右侧就没有问题了。ie浏览器放在底下也没有问题。应该是chrome没有使用w3c的标准。
-------------------------------------------------
这个感觉,跟我要的感觉不太一样。
至于显示特效推荐你直接用jQuery的slide效果,自己写也可以,不停修改位置及尺寸即可,这个不需要什么技术,基本的dom操作罢了
<html>
<head>
<style>
.container{position:relative;height:500px;width:800px;border:1px solid #000000;overflow:hidden}
.content{position:absolute;height:800px;width:900px;background:green;top:500px;}
</style>
</head>
<body>
<div class="container">
<div id="div" class="content"></div>
</div>
<button type="button" onclick="slideUp()">上来</button>
<button type="button" onclick="slideDown()">下去</button>
<script type="text/javascript">
var div = document.getElementById("div");
function slideUp(){
slide(div,-10,0);
}
function slideDown(){
slide(div,10,500);
}
var timer;
function slide(ele,step,top){
if(!step){
return;
}
if(timer){
clearInterval(timer);
}
var t = ele.offsetTop || Number(ele.style.top.replace(/[^d]+$/i,""));
if(step < 0 && t <= top){
timer = null;
return;
}
if(step > 0 && t >= top){
timer = null;
return;
}
t+=step;
ele.style.top = t+"px";
timer = setTimeout(function(){
slide(ele,step,top);
},10);
}
</script>
</body>
</html>