0

これは非常に単純なように思えますが、壁にぶつかり続けています。

基本的に、配列には 6 つの DIV と 6 つの数字があります。(DIV の数と配列内の項目の数は常に同じです。)

数値はすべてパーセンテージで、0 ~ 100 の数値として表示されます。配列内の数値に基づいて、各 DIV の幅を順番に設定したいと考えています。

したがって、私の配列が[50,25,100,75,100,25]の場合、DIV は 50% 幅、25% 幅、100% 幅、というように順番に配置する必要があります。

私のコードは 90% 程度だと思いますが、明らかに何かが欠けています。説明のためのマークアップは、6 つの空の DIV だけです。

私のコードは次のとおりです。

var percentages = [50,25,100,75,100,25];

$.each(percentages, function() {
    $('div').width(this + '%');
});

そして、ここに私の JSFiddle があります: http://jsfiddle.net/Jkt5w/

4

2 に答える 2

1

現在、各反復ですべての div の幅を変更しています。$('div')毎回、すべての div を選択します。イテレータ コールバックに渡される index パラメータを使用できます。

$.each(percentages, function(i) {
    $('div').eq(i).width(this + '%');
});

逆に反転することもできます: すべての div 要素にアクセスし、それらの幅を設定し、.width要素ごとに 1 つの幅を生成することを受け入れるコールバック関数を使用します。

$('div').width(function(i) { 
    return percentages[i] + '%'; 
});
于 2013-08-13T20:04:58.170 に答える
0

ただいま編集..

各 Div を取得し、幅を設定します.HTML 内のすべての Div に最後の幅 % をコードで設定します 個々の Div に幅を与えるだけです

jQuery(document).ready(function($) {

    var percentages = [50,25,100,75,100,25];

    $.each(percentages, function(i) {
        $('#d' + (i+1)).width(percentages[i] + '%');
    });

});

HTML

<div id='d1'></div>
<div id='d2'></div>
<div id='d3'></div>
<div id='d4'></div>
<div id='d5'></div>
<div id='d6'></div>

ここでフィドル

于 2013-08-13T20:08:25.470 に答える