2012-12-26 22 views
0

我有一些代碼在特定場景中將消息淡入用戶。這一個ASPX頁面執行回發,並根據用戶填寫的字段清除成功或失敗的頁面。JQuery - 不要在回發中執行

我知道我可能會啓動一個龐大的戰爭,對我應該如何檢查DOM而不是瀏覽器的Mozilla的存在。沒關係,我明白了。但是我只想運行fadeIn()一次,當頁面在初始加載時創建。

if ($.browser.mozilla != true) { 
    $("#dim").fadeIn(); 
} 

我很喜歡在這裏是三的jQuery的一天,所以我做了一些搜索,但沒有找到我想要做的事。

謝謝。

回答

1

您可以使用隱藏字段來投遞的狀態和運行JavaScript代碼之前使用隱藏域。

在HTML

<input type="hidden" runat="server" id="hdnIsPostBack" value="false" /> 

在後面的代碼

if(Page.IsPostBack) 
    hdnIsPostBack.Value = "true"; 
else 
    hdnIsPostBack.Value = "false"; 

在javascript中

if($('#<%= hdnIsPostBack.ClientID %>').val() == "false") 
{ 
    //Your code here 
    if ($.browser.mozilla != true) { 
     $("#dim").fadeIn(); 
    } 
} 
+0

感謝偉大的解釋。現在思考更多關於它的意義。而且謝謝你不要像這裏的人那麼多。 :) –

0

這是因爲它看起來很簡單

如果你想有fadein在初始頁面加載,那麼你可以用下面的代碼試試。

$(document).ready(function(){ 
    $("#dim").fadeIn(); 
}); 


一件事,如果你的頁面是做回傳,那麼你可能想在這種情況下,同樣的,你可以從你的<Page>.cs

ScriptManager.RegisterClientScriptBlock(this,GetType(),"<anything as key>","$('#dim').fadeIn();",true); 

試試這個讓我知道如果答案是不相關的。