Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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
如何使用jquery/js在resize上获得绝对/固定元素的宽度?_Jquery_Html_Css_Resize - Fatal编程技术网

如何使用jquery/js在resize上获得绝对/固定元素的宽度?

如何使用jquery/js在resize上获得绝对/固定元素的宽度?,jquery,html,css,resize,Jquery,Html,Css,Resize,假设您有一个固定或绝对定位的元素: <div> My fixed div. </div> 您可以通过以下方式计算宽度: $(function() { $(window).resize(function() { var $myFixedDiv = $('div:first'); console.log($myFixedDiv.width()); //$myFixedDiv.innerWidth(), $myFixedDiv.

假设您有一个固定或绝对定位的元素:

<div>
   My fixed div.
</div>
您可以通过以下方式计算宽度:

$(function() {
    $(window).resize(function() {
        var $myFixedDiv = $('div:first');

        console.log($myFixedDiv.width()); //$myFixedDiv.innerWidth(), $myFixedDiv.outerWidth() 
    });

});
但是,当您调整窗口大小时,firefox和chrome报告的宽度均为0


如何计算出真正的宽度是多少?

可以从两个轴上取窗口的宽度和-40

var width = $(window).width()-40;
var height = $(window).height()-40;
然后,我将使用js设置div的宽度,而不是使用css top、left、bottom和right来设置宽度,因为我认为从长远来看这是不可靠的

var myDiv = $('#myDiv');
myDiv.width = width;
myDiv.height = height;

你的代码看起来不错,你使用的是最新版本的jquery吗?我使用的是jquery 1.5.1,我想我可以拉1.5.2?它在Firefox 4和Chrome 10中运行良好(使用jquery 1.5.1)。调整大小后左右定位,在firefox上给0,chrome似乎给了我一个不正确的值。在我删除下划线.js debounce后,chrome给了我正确的值。firefox仍然无法工作。
var myDiv = $('#myDiv');
myDiv.width = width;
myDiv.height = height;