2012-12-05 63 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. 
            }); 
}); 

想這會工作。