Javascript CSS,Jquery-返回为0的绝对定位div的宽度
我试图运行一些条件javascript来定位div,这样,如果单击照片右侧的标记,标记工具提示将定位在标记的左侧,否则它将位于标记的右侧。因此,如果标记在右侧,我指示工具提示定位在标记的位置()。左侧,减去工具提示的宽度。但是,工具提示的宽度始终会发生变化,具体取决于其中的文本,并且调用jquery的width()函数不会返回正确的宽度。有没有办法解决这个问题?下面是一个例子: 这是我的代码:Javascript CSS,Jquery-返回为0的绝对定位div的宽度,javascript,jquery,css,Javascript,Jquery,Css,我试图运行一些条件javascript来定位div,这样,如果单击照片右侧的标记,标记工具提示将定位在标记的左侧,否则它将位于标记的右侧。因此,如果标记在右侧,我指示工具提示定位在标记的位置()。左侧,减去工具提示的宽度。但是,工具提示的宽度始终会发生变化,具体取决于其中的文本,并且调用jquery的width()函数不会返回正确的宽度。有没有办法解决这个问题?下面是一个例子: 这是我的代码: var tagPos = $photo_tag.position(); if (isNarrow =
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});
}
}
以防万一,但是你的工具提示在你要求它的宽度时是可见的吗? 工具提示必须可见才能由渲染引擎渲染,否则它将没有任何大小 例如,你可以做类似的事情
$('#mytooltip').show(0);
width = $('#mytooltip').width();
$('#mytooltip').hide(0);
这将足以进行渲染,但它没有时间真正向用户显示。我在你发布的链接的html中没有看到
.brand\u name\u relative
类?啊,抱歉,上面更正了代码看看这是否有帮助:我也这么认为,因此,我实际上将代码的显示部分移到了其他部分之上,但这似乎仍然没有解决问题。