我在页面顶部有一个导航菜单,可以在页面中重定向。但是,一些div最初是隐藏的并且需要1秒才能显示,因此锚标记不会将浏览器窗口向下移动得足够远。我希望在窗口向下滚动之前将链接延迟一秒钟等待div显示。
使用
打开div$.slideToggle(1000)
,导航菜单使用简单的
<a href='#divid'>link to divid</a>
答案 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);
});