|
|
Posted on
2007-09-18 16:36
codingsilence
阅读( 141)
评论()
收藏
举报
<style type="text/css">
 body ...{
height:100%;
}
 .wc, #wc1, #wc2 ...{
position:absolute;
border-width:0px;
z-index:2;
left:0px;
top:0px;
display:none
}
 #wc1 ...{
width:320px;
height:240px;
background-color:#FFCC00;
}
 #wc2 ...{
width:420px;
height:340px;
background-color:#CCCCCC;
}
 .wc ...{
z-index:1;
}
</style>
<html>
<head>
</head>
<body>
<div id="wc1"></div>
<div id="wc2"></div>
<center>
<button id="show_wc1">show_wc1</button>
<button id="show_wc2">show_wc2</button>
<div id="id3"></div>
<form name="form1" method="post" action="">
<input type="submit" name="Submit" value="提交">
</form>
<br />
</center>
</body>
</html>
<script language="javascript">
window.onload=init;
 function init()...{
div1=document.getElementById("wc1")
div2=document.getElementById("wc2")
button1=document.getElementById("show_wc1")
button2=document.getElementById("show_wc2")
add(div1,button1)
add(div2,button2)
}

 function add(o,p)...{
o.style.display="block";
o.top=p.offsetTop+p.offsetHeight;
o.left=p.offsetLeft+Math.ceil(p.offsetWidth/2);
o.style.left=parseInt(o.left)-Math.ceil(o.offsetWidth/2)
o.style.top=o.top
o.width = (o.offsetWidth) / 20;
o.height = (o.offsetHeight) / 20;
o.num = 0;
o.style.width=0;
o.style.height=0
o.style.display="none";
 p.onmouseover=o.onmouseover=function()...{move(o)};
 p.onmouseout=o.onmouseout=function()...{out(o)};
}

 function move(o)...{
window.clearTimeout(o.time)
window.status=o.num
 if (++o.num<=20)...{
o.style.display="block";
o.style.width=(o.num * o.width) + "px";
o.style.height=(o.num * o.height) + "px";
o.style.left=parseInt(o.left)-(o.offsetWidth/2)
o.clear=window.setTimeout(move, 10, o);
}
 else...{
window.clearTimeout(o.clear);
}
}

 function out(o)...{
window.clearTimeout(o.clear)
window.status=o.num
 if(--o.num>=0)...{
o.style.width=(o.num * o.width) + "px";
o.style.height=(o.num * o.height) + "px";
o.style.left=parseInt(o.left)-(o.offsetWidth/2)
o.time=window.setTimeout(out, 10, o);
}
 else...{
o.style.display="none"
window.clearTimeout(o.time);
}
}


 (function () ...{
var timeout = window.setTimeout;
 window.setTimeout = function (a, b) ...{
var fun;
 if ("function" == typeof a) ...{
var arg = Array.prototype.slice.call(arguments, 2);
 fun = function () ...{
a.apply(null, arg);
};
 } else ...{
fun = a;
}
return timeout(fun, b);
};
})();

</script>
clearTimeout一定要注意,可以测试类型来确定是否有值,在就是不能在onmouse等事件里放初始值,害的我研究了一下午,原来是放在mousemove等事件变量值随着改变
|