Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.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 Chrome和Firefox的客户端宽度差异?_Javascript_Firefox_Google Chrome - Fatal编程技术网

Javascript Chrome和Firefox的客户端宽度差异?

Javascript Chrome和Firefox的客户端宽度差异?,javascript,firefox,google-chrome,Javascript,Firefox,Google Chrome,我正在编写一个javascript函数,它等待所有图像加载到一个网页上,然后修改它们的宽度以将它们放入一个框中。它在Chrome上就像一个符咒(在图像加载之前clientWidth是0),但在Firefox上它会立即变小(在我的例子中是24而不是~700),所以实际的收缩部分发生在图像加载之前(因此它保持相同的大小)。有什么好主意吗 function shrink() { var images = document.getElementsByTagName("img"

我正在编写一个javascript函数,它等待所有图像加载到一个网页上,然后修改它们的宽度以将它们放入一个框中。它在Chrome上就像一个符咒(在图像加载之前clientWidth是0),但在Firefox上它会立即变小(在我的例子中是24而不是~700),所以实际的收缩部分发生在图像加载之前(因此它保持相同的大小)。有什么好主意吗

  function shrink() {
            var images = document.getElementsByTagName("img");
            var interval = setInterval(function() {
                var exit = 0;
                for (var i = 0; i < images.length; ++i) {
                    if (images[i].clientWidth != 0) exit += 1;
                }
                if(exit == images.length ) {
                    clearInterval(interval);
                    for (var i = 0; i < images.length; ++i) {
                        if(images[i].clientWidth > 600) images[i].style.width = 400;
                    }
                }
            },100);
        }
函数收缩(){
var images=document.getElementsByTagName(“img”);
var interval=setInterval(函数(){
var出口=0;
对于(变量i=0;i600)images[i].style.width=400;
}
}
},100);
}

使用
images[i]。完成
以确定是否正在加载图像,而不是检查
clientWidth
(这取决于是否显示alt文本或断开的图像图标)