0

为了计算其内容的宽度,我循环了一系列部分。这些宽度的总和设置为容器的宽度,因此所有内容都可以容纳。这是它的工作原理:

$(window).load(function() {
   function sizePanels(){
       sunWidth = 0;
       var sections = $("section");

       sections.each(function(){

           var totalWidth = 0,
           select = $(this).find('.mainScroll div, .mainScroll img');

           select.each(function(index) {
                totalWidth += parseInt($(this).outerWidth(true), 10);
           });

           $(this).css({ 'width' : totalWidth});
       });
   }

   sizePanels();
});

在 Chrome 和 Safari 中,这很好用。在火狐中,totalwidth是一个完全不同的数字,因此,火狐中的部分不够宽。这条线没有被正确计算:

totalWidth += parseInt($(this).outerWidth(true), 10);

火狐有什么理由不能正确计算?

更新:看起来firefox计算的所有图像的宽度比它应该的小15px。我运行了一个测试,在页面加载后运行这个 dame 函数并且它工作正常。似乎这是一个图像加载问题,但它仍然在 window.load 函数中。奇怪的。如果我注释掉这一行,Firefox 会返回正确的宽度:

$(this).css({ 'width' : totalWidth});

但我需要这条线来设置正确的容器宽度!

4

0 回答 0