0

z-index各リスト項目のをインクリメントしようとしています。

これは私がこれまでに試したことです:

    var photos = $('ul');
  photos.each(function () {

      var photos = $(this).children();
      var photosLen = photos.length;
      if (photosLen > 1) {
          photos.parent().addClass('album');
          var i = 0;
          while (i < photosLen) {

              $(this).children().css({
                  'z-index': i
              });
          }
      }

  });

各リスト項目が からz-index: 1;になると思っていましz-index: 3;たが、そうではありません。配列の長さを各リスト項目に追加するだけです。

HTML: (コードは最初の順不同リストにのみ適用されます)

<ul>

    <li><img src="http://i.imgur.com/PuwwFs.jpg" alt=""></li>
    <li><img src="http://i.imgur.com/cjAGks.jpg" alt=""></li>
    <li><img src="http://i.imgur.com/zA4lCs.jpg" alt=""></li>

  </ul>
    <ul>

        <li><img src="http://i.imgur.com/PuwwFs.jpg" alt=""></li>


    </ul>
4

2 に答える 2

5

すでにjQueryを使用しているため、コードは単純です

  if (photosLen > 1) {
      photos.each(function(i) {
          $(this).css('zIndex', i);
      })
      .parent()
      .addClass('album');
  }

プロパティのeach()および camelCase 構文に注意してくださいz-index

于 2012-06-20T08:28:17.240 に答える
0

コードで の値をインクリメントするのを忘れていますi:

      while (i < photosLen) {

          $(this).children().css({
              'z-index': i
          });
          i++; 
      }
于 2012-06-20T08:29:14.557 に答える