2016-07-27 22 views
0

このコードスニペットはFirefoxでは動作しますが、クロムではスクロールしません。クリックイベントは発生しますが、アンカータグ上の位置には移動しません。scrollTopがクロムで動作しない

$(function() { 
$(".menu li a").click(function(e) { 
    var value = $(this).attr('href'); 
    var id = value.substr(1, $(this).attr('href').length);    
    var px = navigator.userAgent.toLowerCase().indexOf('firefox') > -1 ? 16 : 1; 
    var target = $("a[name=" + id + "]").offset().top + px; 

    console.log($("a[name=" + id + "]")); 

    $('html, body').stop().animate({ 
     scrollTop: target + 'px' 
    }, 'slow'); 

    e.preventDefault(); 

}); 

})

答えて

1

scrollTop+ 'px'を添加しない試して、set with an integerなければなりません。

例えば、これは動作します:

$('html, body').stop().animate({scrollTop: 100}, 'slow'); 

をそれがスクロールをブロックしているページに、あなたのために何かをしない、またはあなたの体/ HTMLがよりスクロールの高さより大きくしていない場合ブラウザウィンドウ。

コンソールでdocument.body.scrollTop = 200;と入力して、バニラJavaScriptでさらにテストできます。 があなたのページをスクロールしない場合は、何か間違いがあります。おそらくChrome拡張機能ですか?

+0

(また、FirefoxのUAは、トラブルのようなルックスをスニッフィングが、誰が:)私に尋ねていない)うん、私はそれを削除し、ちょうど1000年のように番号を入れて、ページが – ONYX

+0

OK更新私の答えをスクロールしないであろう、いくつかの試すより多くのこと。 –

関連する問題