我想使用jquery延迟链接

时间:2012-12-05 15:39:36

标签: jquery html scroll delay

我在页面顶部有一个导航菜单,可以在页面中重定向。但是,一些div最初是隐藏的并且需要1秒才能显示,因此锚标记不会将浏览器窗口向下移动得足够远。我希望在窗口向下滚动之前将链接延迟一秒钟等待div显示。

使用

打开div
$.slideToggle(1000)

,导航菜单使用简单的

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

2 个答案:

答案 0 :(得分: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.
                                  });
});

假设这样可行。

答案 1 :(得分:0)

使用set timeout功能,在触发下一个事件之前给它一个延迟。

$("#divid").bind("click", function() {
    setTimeout(function() {
        $("#divid").slideToggle(1000);
    },1000);
});