0

だから私は、「機能」アンカーリンクを持つホームページのメニューバーを持っています。私の機能セクションは、実際には同じページにあります。したがって、ユーザーが「機能」リンクをクリックすると、ページのその部分までスクロールダウンする jQuery 関数があります。それは正常に機能します。

私の問題は、同じメニュー バーを使用している別の別のページ (/contact-us など) にいる場合、[機能] をクリックしても明らかに何も起こらないことです。だから私はこのコードを書きました。これは URL ` http://website.com/#features ' を探し、その DIV までスクロールする必要があります。問題は、ページが完全に読み込まれると、ページが一番上に戻ることです。

私は何を間違っていますか?上記が意味をなさない場合は、em に知らせてください。

メニューバーのアンカーは次のとおりです。

<a href="/#features">FEATURES</a></span>

ホームページにある私のjQueryスニペットは次のとおりです。

home: function () {
    if (document.location.href.indexOf('#features') > 0) {
        $('html, body').animate({
            scrollTop: ($('section.feature-set').eq(1).offset().top - 60)
        }, {
            duration: 1000,
            easing: 'easeInOutExpo'
        });
        return false;
    }
}

*編集*

つまり、それは私の js コードではなく、この js のブロックでした。これにより、iPhone Safari バーが非表示になります。読み込み時にページを一番上までスクロールしているようです。どうすれば紛争を防ぐことができますか? つまり、このブロックを iPhone でのみ実行しますが、ハッシュタグ URL と競合しません

// Hides Safari Address Bar on iPhone
window.addEventListener("load",function() {
    // Set a timeout...
    setTimeout(function(){
        // Hide the address bar!
        window.scrollTo(0, 1);
    }, 0);
});
4

2 に答える 2