4

一番上にスクロールするアニメーションが発生する直前に、画面がちらつくことに気付きました。これは、 http
://www.dreamtheater.co.il でライブで見ることができます。

再作成するには:

  1. メニューバーが一番上だけになるまで下にスクロールします
  2. メニューから一番右のリンクをクリックします

HTML の本文は次のようになります<body id="top">
そして JavaScript (一番下の関連コード):

$(function() {
    var stickyHeader = $('#menubar').offset().top;

    $(window).scroll(function() {
        if ($(window).scrollTop() > stickyHeader) {
            ...
            ...
            $("a[href='http://www.dreamtheater.co.il/index/']").attr('href', '#top');
        } else {
            ...
            ...
            $("a[href='#top']").attr('href', 'http://www.dreamtheater.co.il/index/');
        }
    });

    $('#top').on("click",function() {
        $('body,html').animate({ scrollTop: 0 }, 'slow')
    });
});
4

3 に答える 3

0

イベント変数を使用したバリアントの方がクリーンだと思います。

$("#menubar").on("click", "#menu a[href='#top']", function(e){
    e.preventDefault();
    $('body,html').animate({ scrollTop: 0 }, 'slow');
});
于 2014-02-28T17:16:30.943 に答える