div结构体如图:
1:方法:比较灵活的方法是将 上层蒙层,和弹框分离开;
2:方法:使用stopPropagation
知识点:stopPropagation() 方法防止调用相同事件的传播。传播意味着向上冒泡到父元素或向下捕获到子元素。从而点击蒙层上面的弹框,组织事件往弹框层向他的父级传递事件:优雅的解决问题!
这两天研究了一下,基本上明白这个效果的实现原理了。以下为实现代码,在火狐下能够通过。<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>New Document </title>
</head>
<style type="text/css">
body {background-image:url(http://www.jhsyh.com/line/img/20101210131221154.jpg)}
#bk {background-color:grayopacity:0width:144pxheight:144pxfloat:left}
#icon {position:relativeleft:-136pxtop:8px}
</style>
<body>
<div id="bk"></div>
<img src="http://d.lanrentuku.com/down/png/1202/red_hearts/red_hearts_09.png" id="icon">
</img>
</body>
<script type="text/javascript">
var bk=document.getElementById("bk")
var icon=document.getElementById("icon")
icon.onmouseover=function(){
bk.style.opacity=0.5
}
icon.onmouseout=function(){
bk.style.opacity=0
}
</script>
</html>