1

我正在尝试运行一些条件 javascript 来定位 div,这样,如果单击照片右侧的标记,则标记工具提示将位于标记的左侧,否则它将是标记的右侧。因此,如果标记在右侧,我会指示工具提示位于标记的 position().left 处,减去工具提示的宽度。然而,工具提示的宽度总是会改变,这取决于里面的文本,并且调用 jquery 的 width() 函数不会返回正确的宽度。有想法该怎么解决这个吗?这是示例:

http://bit.ly/IkbWl6

这是我的代码:

var tagPos = $photo_tag.position();
if (isNarrow == true){
    var photoWidth = $('#photo_box').width();
    if (tagPos.left > photoWidth/2){
        var brandWidth = $('.brand_name').width(); //MH - NOT WORKING
        $brand_name_container.css({'left' : tagPos.left-brandWidth, 'top' : tagPos.top+brandAdjTop});
    } else {
        $brand_name_container.css({'left' : tagPos.left+brandAdjLeft, 'top' : tagPos.top+brandAdjTop});
    }
}
4

1 回答 1

2

以防万一,但是在您请求它的宽度时您的工具提示是否可见?工具提示必须可见才能被渲染引擎渲染,否则它不会有任何大小。

例如,您可能会做类似的事情

$('#mytooltip').show(0);
width = $('#mytooltip').width();
$('#mytooltip').hide(0);

这足以进行渲染,但它没有时间真正向用户显示。

于 2012-04-25T14:22:13.350 回答