1

私は複数のフルスクリーンの背景を持つサイトを持っています(まあ、100%の幅と1024pxの設定された高さ)

このスクリプトが実行する(または実行する必要がある)のは、下にスクロールしているときに1つのdivをフェードアウトし、もう1つのdivをフェードインすることです。

ただし、作業を楽にするために、n番目の子セレクターを使用しています。これは最初の2つのdivでうまく機能しますが、それ以降は機能しません。

何か助けはありますか?

$(document).ready(function(){
var didScroll = false;
var $window = $(window);

$(window).scroll(function(){
  didScroll = true;
});

window.setInterval(function () {
if (didScroll) {
  if (1-$window.scrollTop()/1024 > -10) {
      $('.item:nth-child(even)').css({opacity: 1-$window.scrollTop()/1024});
      $('.item:nth-child(odd)').css({opacity: 1*$window.scrollTop()/1024});
  }
  didScroll = false;
}
}, 50);
});
4

1 に答える 1

1

nth-child は偶数または奇数に限定されません。必要な数を使用してください例えば:

$(".item:nth-child(3)").css({opacity: 1-$window.scrollTop()/1024})

編集:

今、このようなものが動作するはずです:

  $('.item:nth-child(1)').css({opacity: 1-$window.scrollTop()/1024});
  $('.item:nth-child(2)').css({opacity: 2-$window.scrollTop()/1024});
  $('.item:nth-child(3)').css({opacity: 3-$window.scrollTop()/1024});

JSFiddle: http://jsfiddle.net/yDuh7/ または別のもの: http://jsfiddle.net/yDuh7/1/

于 2013-03-06T08:41:49.433 に答える