0

私はスニペットを持っています:

 $(document).ready(function(){
    $('.imgtlist').each(function(index) {
        $('#slide_box').attr('width', + 135);
    });
});

基本的に、ロード時に、クラスを持つノードの数をカウント.imgtlistし、の幅属性に135を追加します#slide_box

各ループの変数を定義してから、その数に基づいて増やす必要があり.imgtlistますか?

4

4 に答える 4

3

これを試して:

$("#slide_box").width($("#slide_box").width() + 135 * $(".imgtlist").length);

これにより#slide_box、の幅が135*.imgtlist要素の数だけ増加します。

于 2012-12-04T19:09:55.017 に答える
0

このスニペットは、子要素を反復処理せずにそれを実行する必要があります。

親要素のメソッドを使用しwidth()て、width属性を検索する必要がないようにすることもできます。

$(document).ready(function(){
  $('#slide_box').width($('.imgtlist').length * 135);
});
于 2012-12-04T19:10:56.163 に答える
0

それぞれのステートメントが必要だとは思わないでください。やってみませんか

var number = $('.imgtlist').length * 135;

$('#slide_box').attr('width', number);

これにより、アイテムの数が取得され、各ステートメントの数である135倍になります。次に、attrを1回だけ適用します。

于 2012-12-04T19:11:58.793 に答える
0

関数をパラメーターとして渡すと、width引数として古いものが取得されます。

$('#slide_box').width(function(i, width) {
    return width+ 135 * $(".imgtlist").length;
});
于 2012-12-04T19:13:29.980 に答える