アニメーションスクロールバーに問題があります。意図した動作は、ナビゲーションボタンをクリックすること、ページの最後までスクロールすること(そして最後のほんの少しぶつかること)でなければなりません。 今PCの問題は完璧に動作します。アンドロイドデバイス(私は自分の電話を試しました)では、scrollTop値と($(document.body).height() - $(window).height())が一致しません。スクロールトップの正確さは55px以下で、あらゆる種類の奇妙なものを演奏しています...時には時にはうまくいきません。私はそれがブラウザバーが崩壊し、価値を怒らせることと関係があると思った...しかし、私はそれを把握することはできません。私は次の試み:スクロールイベントの変数を初期化、私は動作しなかったバニラjsを試してみました。助けが必要な場合:参照http://www.developer.morningmood.orgのために、また私はそれが役立つ場合、ページの下部に値を印刷しました。ここにコードがあります。ありがとう!jQueryのscrollTop()クロムを含むアンドロイドブラウザで奇妙なことをする
contactF = Math.floor($(document.body).height() - $(window).height()); $("#cont").click(function(){ if ($(document).scrollTop() < contactF && flagScroll==true){ //flag stops other buttons from beying pushed flagScroll = false; var inter = setInterval(function(){ var doc = $(document).scrollTop(); if (doc == contactF){ // this is the final desired position clearInterval(inter); flagScroll = true; pix = 10; //pixels to jump return; } if (doc >= contactF-50){ // this is a break on aproach pix = 1; } $(document).scrollTop(doc + pix); }, 10); } })
EDIT:また、バグを見つけるために、あなたはちょうどそれが動作する接触ボタンを押して、ページの上部からすれば、ページの最上部から下部までのすべての方法をスクロールするNEDD。しかし、スクロールしても値が狂ってしまいます。
これはすべて$(document).ready(function(){})内にありますか? – Liquidchrome
はい。すべてが$(document).ready関数にあります –
'resize'イベントまたは 'orientationchange'イベントのイベントリスナーを追加する必要があるかもしれません。棒が崩壊すると、それらのイベントが発生し、値を再計算することができます。 – mrsq