我有四个div元素,当鼠标移到选中的div上时,它会被放大。但我需要获得其余三个内嵌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');
});
});发布于 2013-08-13 15:46:06
将此CSS属性用于overlay Div。
pointer-events: none
这将禁用该div上的所有单击事件,并将所有单击事件传递给它下面的层。
https://stackoverflow.com/questions/14830735
复制相似问题