0
我在页面顶部有一个导航菜单,在页面内重定向。但是,一些div最初是隐藏的,需要1秒才会出现,所以锚标记不会将浏览器窗口向下移动得足够远。我想延迟链接一秒钟,等待div在窗口向下滚动之前可见。我想延迟使用jquery的链接
的div使用
$.slideToggle(1000)
打开,导航菜单使用一个简单的
<a href='#divid'>link to divid</a>
我在页面顶部有一个导航菜单,在页面内重定向。但是,一些div最初是隐藏的,需要1秒才会出现,所以锚标记不会将浏览器窗口向下移动得足够远。我想延迟链接一秒钟,等待div在窗口向下滚动之前可见。我想延迟使用jquery的链接
的div使用
$.slideToggle(1000)
打开,导航菜单使用一个简单的
<a href='#divid'>link to divid</a>
使用设置的超时功能,并在触发下一个事件之前给它一个延迟。
$("#divid").bind("click", function() {
setTimeout(function() {
$("#divid").slideToggle(1000);
},1000);
});
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.
});
});
想这会工作。