0

#mydivはクリック可能なボックス Div で、クリックするとクラス.openDivが追加されます#mydiv

クラスがある場合.openDiv

if($('#mydiv').hasClass('openDiv')){
 $(window).scrollTop(); //value is 300px
}

ページがロードされた場合 (いいえ.openDiv)

$(window).scrollTop(); //value is 200px

だから私の変数は

if($('#mydiv').hasClass('openDiv')){
  thisTop =  $(window).scrollTop() - 100;
}else{
  thisTop =  $(window).scrollTop() 
}

ご覧のとおり、100ハードコードされた別の値にしました。動的に計算する方法はありますか? ありがとう!

4

2 に答える 2

1

これを試して:

var div = $('#mydiv'), scrollTop = $(window).scrollTop();
thisTop = div.hasClass('openDiv') ? scrollTop - div.height() : scrollTop;

#mydivクラスがある場合は、openDivから高さを取り除きます。$(window).scrollTop()それ以外の場合は、単に戻り$(window).scrollTop()ます。

于 2013-08-18T22:52:25.580 に答える