2012-12-05 66 views
0

我在页面顶部有一个导航菜单,在页面内重定向。但是,一些div最初是隐藏的,需要1秒才会出现,所以锚标记不会将浏览器窗口向下移动得足够远。我想延迟链接一秒钟,等待div在窗口向下滚动之前可见。我想延迟使用jquery的链接

的div使用

$.slideToggle(1000) 

打开,导航菜单使用一个简单的

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

回答

0

使用设置的超时功能,并在触发下一个事件之前给它一个延迟。

$("#divid").bind("click", function() { 
    setTimeout(function() { 
     $("#divid").slideToggle(1000); 
    },1000); 
}); 
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. 
            }); 
}); 

想这会工作。