2012-10-06 62 views
0

我想用jquery制作轮播, 和img的宽度可变。计算imgs的宽度变量为div

我知道如何计算多个IMG与FIX宽度,但我不知道如何与宽度分配一个div(在这种情况下sub_container)计算。

这是例如:

<div id="container"> 
      <div id="sub_container" style="width:WIDTH FROM VARIABLE WIDTH OF IMAGES">   
      <img id="#number" width="200px" src="#"> 
      <img id="#number" width="240px" src="#"> 
      <img id="#number" width="150px" src="#"> 
      <img id="#number" width="500px" src="#"> 
      </div> 
    </div> 

记住: 容器的宽度为从窗口/浏览器的宽度内获得。

你能帮我吗? :/

非常非常感谢你! :(

回答

1

你可以做这样的事情:

$(function() { 
    var width = 0; 
    // Get all images in the sub container 
    $("img","#sub_container").each(function() { 
     // Add the width of each image 
     width += $(this).width(); 
    }); 
    // Do whatever you want with the width 
    $("#sub_container").width(width); 
}); 

工作例如:http://jsfiddle.net/DZ9rF/

+0

不,不工作...输出的值是“0px”...我不知道为什么... – user12932

+0

@ user12932适用于我。添加了一个小提琴演示。 –

0

试试这个:

$.fn.sumWidths = function() { 
    var sum = 0; 
    this.each(function() { 
     sum += $(this).width(); 
    }); 
    return sum; 
}; 

然后

$('#sub_container').width($('#sub_container img').sumWidths());