1

現在、ナビゲーションの形式として、ページ上のさまざまな div にスクロールするメニューの機能があります。現在、私は次の方法を使用しています。

ポートフォリオまでスクロール

$("html, body").animate({ scrollTop: $('#portfolio').offset().top }, 600);

ページ全体を動的に構築しているので、誰かがリンクをクリックすると、.hide() を使用してメイン ページ要素を非表示にし、追加のコンテンツを生成します。

function hideElements() {

$("#something").hide();

}

コンテンツ ページでポートフォリオに戻りたい場合は、ポートフォリオのリンクをもう一度クリックします。次のメソッドを使用して、それらを再表示された要素に「スクロール」しています。

$("#nav").click(){
    unhideMainElements();
    $("html, body").animate({ scrollTop: $('#portfolio').offset().top }, 1200);
    $("#container").fadeIn(300);
}

問題は、フェードは機能しますが、要素までスクロールしないことです。. hide() 要素と . show() 要素に関係していると思いますが、理由はわかりません。洞察に感謝します。ありがとう!

4

3 に答える 3

0

との代わりにhide()、非表示にしてから表示しshow()てみませんか。.animate({'opacity':0}).animate({'opacity':1})

于 2013-02-18T21:35:14.857 に答える
0

解決済み

animation と の 2 つの関数は、 のコールバックに fadeIn入れられました。そうすれば、すべてが完了したときにのみアニメーションが起動します。.show()unhideMainElements();.show()

タイミングの問題だったと思います。

ご協力いただきありがとうございます。

于 2013-02-21T19:29:15.527 に答える