0

ページ内でリダイレクトするページの上部にナビゲーション メニューがあります。ただし、一部の div は最初は非表示になっており、表示されるまでに 1 秒かかるため、アンカー タグによってブラウザー ウィンドウが十分に下に移動しません。ウィンドウが下にスクロールする前に、リンクを 1 秒間遅らせて、div が表示されるのを待ちたいと思います。

divは次を使用して開かれます

$.slideToggle(1000)

ナビゲーションメニューはシンプルな

<a href='#divid'>link to divid</a>
4

2 に答える 2

0

http://api.jquery.com/slideToggle/-ドキュメントによると、アニメーションが完了したときに何かを実行できるコールバックがあります。

したがって、次のようなことができます。

$('a').click(function(e){
    e.preventDefault(); //this will prevent immediate scrolling
    $(this.href).slideToggle(1000, function(){ 
                                    document.location.hash = $(this).attr("id")//now hash will be changed and window should be scrolled to according div.
                                  });
});

これが機能するとします。

于 2012-12-05T15:46:56.030 に答える
0

set timeout関数を使用し、次のイベントを発生させる前に遅延を与えます。

$("#divid").bind("click", function() {
    setTimeout(function() {
        $("#divid").slideToggle(1000);
    },1000);
});
于 2012-12-05T15:47:01.970 に答える