我有鼠标悬停的图像列表,必须显示一些信息。问题是没有触发信息div的鼠标事件。
#team_div{
display:block;
position:relative;
}
#pop_div{
width:300px;
padding:5px;
height:200px;
overflow:hidden;
border:2px solid #ccc;
background:#fefefe;
position:absolute;
display:none;
}
#pop_div img{
margin:10px;
display:block;
float:left;
}
<div id="team_div" class="team_div_loading">
<div id="pop_div"></div>
<table>
list of images
</table>
</div>
$('#team_div > table img').hover(function() {
var top = this.parentNode.offsetTop;
var left = this.parentNode.offsetLeft;
var img =$(this).attr('src');
var id =$(this).attr('id');
var content = $("#" + id + "p").html();
$("#pop_div").show();
$("#pop_div").css('top', top-11 +'px');
$("#pop_div").css('left', left-12 +'px');
$("#pop_div").html('<img src="' + img + '"/>' + content );
$("#pop_div").fadeIn(700);
});
$("#pop_div").mouseout(function(){
$("this").hide();
});
在此悬停时调用if函数,没有任何鼠标事件触发pop_div。
感谢您的建议。
答案 0 :(得分:0)
首先,你不能在元素中使用div或ul li结构,我是通过在
中插入img标签来实现的。<div class="imageDiv"></div>
并使用
编辑jquery函数$('#team_div>.imageDiv img').hover(function () {
var top = this.parentNode.offsetTop;
var left = this.parentNode.offsetLeft;
var img = $(this).attr('src');
var id = $(this).attr('id');
var content = $("#" + id + "p").html();
$("#pop_div").show();
$("#pop_div").css('top', top - 11 + 'px');
$("#pop_div").css('left', left - 12 + 'px');
$("#pop_div").html('<img src="' + img + '"/>' + content);
$("#pop_div").fadeIn(700);
});
您刚刚使用了错误的jquery选择器。我不知道你要用图像悬停功能做什么,但它正在使用上述更改。