检查这个工作演示:http: //jsfiddle.net/fedmich/Aapw6/
您需要在顶部创建一个箭头图像并在弹出框中居中,然后通常移动弹出框以跟随目标锚点。
$('.hover').hover(function(){
var popup_div = $('.popup_div');
var obj = $(this);
var offset = obj.offset();
var new_top = offset.top + 30;
var new_left = offset.left;
new_left = new_left - ( popup_div.width() / 2);
new_left = new_left + ( obj.width() / 2);
popup_div.css('left', new_left + 'px');
popup_div.css('top', new_top + 'px');
popup_div.show();
}
, function (){
//hovered away so hide popup
$('.popup_div').hide();
}
);
CSS 代码应该是绝对位置
.popup_div{
position:absolute;
left:100px;
top:100px;
border:1px solid red;
background-color:blue;
width:150px;
height:150px;
background:url("http://i.imgur.com/zFWft.png") no-repeat scroll center 0 transparent;
text-align:left;
}
您可以通过获取目标 div 的位置,然后通过将宽度除以一半并将其添加到左侧来获取中心。
new_left = hovered_thing.left + (hovered_thing.width / 2) - (popup_div.width / 2)
不过,让我在另一张纸条上尽快为您解答一下,您尝试过悬停卡吗?可能与您想做的类似
http://designwithpc.com/Plugins/Hovercard