Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript CSS,Jquery-返回为0的绝对定位div的宽度_Javascript_Jquery_Css - Fatal编程技术网

Javascript CSS,Jquery-返回为0的绝对定位div的宽度

Javascript CSS,Jquery-返回为0的绝对定位div的宽度,javascript,jquery,css,Javascript,Jquery,Css,我试图运行一些条件javascript来定位div,这样,如果单击照片右侧的标记,标记工具提示将定位在标记的左侧,否则它将位于标记的右侧。因此,如果标记在右侧,我指示工具提示定位在标记的位置()。左侧,减去工具提示的宽度。但是,工具提示的宽度始终会发生变化,具体取决于其中的文本,并且调用jquery的width()函数不会返回正确的宽度。有没有办法解决这个问题?下面是一个例子: 这是我的代码: var tagPos = $photo_tag.position(); if (isNarrow =

我试图运行一些条件javascript来定位div,这样,如果单击照片右侧的标记,标记工具提示将定位在标记的左侧,否则它将位于标记的右侧。因此,如果标记在右侧,我指示工具提示定位在标记的位置()。左侧,减去工具提示的宽度。但是,工具提示的宽度始终会发生变化,具体取决于其中的文本,并且调用jquery的width()函数不会返回正确的宽度。有没有办法解决这个问题?下面是一个例子:

这是我的代码:

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
类?啊,抱歉,上面更正了代码看看这是否有帮助:我也这么认为,因此,我实际上将代码的显示部分移到了其他部分之上,但这似乎仍然没有解决问题。