0

好吧,所以我使用 .appendTo 来解决溢出问题:隐藏,因此我的整个工具提示将显示在包含的 div 之外。但是,它会在项目悬停后将工具提示锁定到位。如何清除 .appendTo 以隐藏工具提示。

$(this).hover(function(){
var pos = $.extend({}, $(this).offset(), {width: this.offsetWidth, height:        this.offsetHeight});
$(this).children('.browse-tip').css({top: -40, left: pos.left - pos.width / 2});
$(this).children('.browse-tip').show();
$(this).children('.browse-tip').appendTo('#browse_wrap');
},function() {
$(this).children('.browse-tip').hide();
});
4

1 回答 1

0

事物的整个结构使您的工作具有挑战性。我建议有一个独立的元素,您可以在需要时在页面上浮动,并在显示之前将相关信息放入其中:

<div id="popup"></div>

<style>
#popup {
    position: absolute;
    display: none;
    z-index: 999999;
    width: 220px;
    height: 200px;
}

#popup .browse-tip {
    display: block;
}
</style>

<script>
$(this).hoverIntent(function(){
    var pos = $.extend({}, $(this).offset(), {width: this.offsetWidth, height: this.offsetHeight});
    $(this).children('.browse-tip').clone().appendTo("#popup");
    $("#popup").css({top: pos.top-40, left: pos.left - pos.width / 2});
    $("#popup").show();
    return true;
},function() {
    $("#popup").hide().children().remove();
    return false;
});
</script>

http://jsfiddle.net/pMSRp/

于 2011-08-18T16:56:25.033 回答