2017-03-06 11 views
0
jQuery(function ($) {  

    $(window).scroll(function() { 
     var y = $(this).scrollTop(); 

     if (y > 360) { 
      var pos_yvalue = y - 294; 
      $('.site-header .wrap').css('background-position-y', 
      pos_yvalue.toString() + 'px'); 
     } 
    }); 
}); 

を設定します。私は360pxの上にスクロールするとスクロール上の相対基づく位置背景Y元素

だから、私は66になるように、サイトヘッダー.wrapの背景画像を配置したいし、それが362であるとき、ラップの背景画像は、65など

を超えるべきですコードは、66,65,64,63,62,61などのように下向きにカウントするのではなく、66,67,68などの値を表します。

何らかの理由で私はこの問題を回避できません。

+1

。 $( '#content')。css( 'top'、screenTop); 'ここ2番目の答えを見る - http://stackoverflow.com/questions/7019353/jquery-how-to-get-the-pages-current-スクリーントップ位置。あなたはこれを携帯電話にも使用していますか?モバイルイベント用のライブラリを追加する必要があります。また、この記事のスクロール値を参照してください(jquery> 1.9の場合は 'bind'を' on'に変更する必要があります - https://stanhub.com/how-to-get-element-distance-from-top-jquery -offset/ –

+0

もちろんモバイルは考慮する必要がありますが、現時点ではありません – bestprogrammerintheworld

答えて

0

あなたのコードに悩まされていない、またはあなたが知ることができるIDEを持っている場合、あなたの問題の一部であるかもしれない構文エラーが気付きました。

ようになり、あなたのコードは次のようになります。あなたは、いくつかの閉鎖を逃している

jQuery(function ($) {  

    $(window).scroll(function() { 
     var y = $(this).scrollTop(); 

     if (y > 360) { 
      var pos_yvalue = y - 294; 
      $('.site-header .wrap').css('background-position-y', 
     pos_yvalue.toString() + 'px'); 
     } 
    }); 
}); 

)さん。そうでなければ、コードは.site-header要素に背景位置を追加するように見えます。あなたは固定ヘッダーのページの上部に固執するつもりですか?

+0

これは実際の問題ではありません。 – bestprogrammerintheworld

0

これは、実際の計算だけの問題だった:あなたは `VAR screenTop = $(文書).scrollTop()を使用してみました

if (y > 360) { 
    var minus_y = (y - 295) - 66; 
    var pos_yvalue = 66 - minus_y; 
    $('.site-header .wrap').css('background-position-y', pos_yvalue.toString() + 'px'); 
} 
関連する問題