2013-01-11 82 views
0

我有一堆HTML頁面,這是單獨的文件,但我想在它們之間有一個簡單的淡入/淡出。JQuery淡入頁面

我用的代碼:

$("#content").css("display", "none"); 

$("#content").fadeIn(2000); 

$("ul.menu li a").click(function(event){ 
    event.preventDefault(); 
    linkLocation = this.href; 
    $("#content").fadeOut(1000, redirectPage);  
}); 

function redirectPage() { 
    window.location = linkLocation; 
} 

我把它綁定到我的主菜單,在這個階段,內容是我的頁眉和頁腳(這我不想要應用的效果之間的DIV )

但是,這個問題是,它閃爍了一下,加上它顯示內容之前暫時消失,然後再次褪色。

有沒有更好/更簡單的解決方案呢?

+0

可以u顯示你的HTML? – Chanckjh

+2

在執行JS之前,在CSS文件中爲#content設置'display:none',以防止它短暫出現。 – robertklep

+0

@robertklep @robertklep您的評論應該是一個答案,這是正確的,雖然我會使用知名度來防止轉移 –

回答

0

試試這個代碼:

$("#content").css("display", "none"); 

$("#content").fadeIn(2000); 

$("ul.menu li a").click(function(event){ 
    event.preventDefault(); 
    linkLocation = this.href; 
    $("#content").fadeOut(1000, redirectPage);  
}); 

function redirectPage() { 
    $("#content").css('visibility' : 0); // use to remove the content - it won't be diplayed 
    window.location = linkLocation; 
} 
+0

工作更好,但整個屏幕閃爍後淡淡地閃爍當前頁面並在新頁面淡入之前。 – Palemo

+0

現在試試這個代碼,我已經更新它來將'visibility'設置爲'0'。這應該對你有幫助。 – bumerang

+0

嗯,仍然沒有區別。我必須將可見性行更改爲 - $(「#content」)。css(「visibility」,「none」);爲了使它工作。並將第一行更改爲$(「#content」)。css(「visibility」,「none」);似乎使它工作良好 - 除了新頁面淡入淡出沒有發生(它只是立即彈出) – Palemo