我有四个div元素,在鼠标悬停时,所选的div将被缩放。但是我需要得到其余三个底层div的鼠标悬停事件,即使另一个被覆盖,这样我可以使较早的一个变焦而当前悬停的变焦。
请考虑我的小提琴:http://jsfiddle.net/aniprasanth/7jFGH/1/
HTML代码就像这样
<div id="main_window">
<div class="multi-window">
<div class="zoomer tile">
<img src="images/img1.jpg" width="207" height="138" />
</div>
</div>
<div class="multi-window">
<div class="zoomer tile">
<img src="images/img2.jpg" width="207" height="138" />
</div>
</div>
<div class="multi-window">
<div class="zoomer tile">
<img src="images/img3.jpg" width="207" height="138" />
</div>
</div>
<div class="multi-window">
<div class="zoomer tile">
<img src="images/img4.jpg" width="207" height="138" />
</div>
</div>
</div>
CSS就是这样:
#main_right #main_window {
height: 320px;
width: 460px;
margin-right: auto;
margin-left: auto;
margin-top: 20px;
position: relative;
}
.multi-window {
height: 150px;
width: 218px;
float: left;
margin-right: 11px;
margin-bottom: 10px;
cursor: pointer;
}
.zoomer {
height: 140px;
width: 208px;
cursor:pointer;
}
.zoom {
height: 301px;
width: 450px;
float:none;
margin:0px;
cursor:pointer;
position:absolute;
left:0;
top:0;
background-color:#FFF;
}
.multi-window img {
width:100% !important;
height:100% !important;
}
最后是剧本:
$('.zoomer').on('mouseenter',function(e){
$(this).addClass('zoom').removeClass('zoomer');
$('.zoom img').css({
'width':'100%',
'height':'100%'
});
$(this).bind('mouseleave click', function(){
$(this).removeClass('zoom').addClass('zoomer');
$('.zoomer').removeClass('zoomer');
});
});
答案 0 :(得分:8)
将此CSS属性用于叠加Div。
pointer-events: none
这将禁用该div上的所有点击事件,并将所有点击事件传递到其下方的图层。