2012-11-29 49 views
1

我有下面的ASP.NET代碼。當我點擊按鈕時,一開始就有一兩次,div div1中的文字消失了一會兒,然後再次顯示。但是,當我現在嘗試它時,它永遠不會消失。 div內的文本只是停留。如何在jquery中實現fadeout asp.net

<head runat="server"> 
<title></title> 
<script type="text/javascript" src="jquery-1.8.3.min.js"></script> 
<script type="text/javascript"> 
    $(document).ready(
     function() { 
      $("#div1").css("color", "red"); 
      $("#btn").click(function() { 
       $("#div1").fadeOut("slow"); 
      }); 
     }); 
</script> 

<body> 
<form id="form1" runat="server"> 
<div class="ab" id="divTest" runat="server">test</div> 
    <asp:Button ID="btn" runat="server" Text="GET" /> 
    <div id="div1" runat="server"> 
     <div>test new </div>     
     <div id="divTestArea1"> 
      <b>Bold text</b> 
      <i>Italic text</i> 
      <div id="divTestArea2"> 
        <b>Bold text 2</b> 
        <i>Italic text 2</i> 
        <div> 
          <b>Bold text 3</b> 
        </div> 
      </div> 
     </div> 
    </div> 
</form> 

+0

'$( '#BTN')'是不正確。您需要改用控件的ClientId。 – asawyer

回答

4

你必須使用服務器控件的客戶端ID,爲您的div有屬性RUNAT = 「服務器」,讓asp.net將產生的ClientID爲它這將是不同的然後是信號。由於ClientIDMode未設置爲靜態。

Live demo

$(document).ready(
    function() { 
     $("#<%= div1.ClientID %>").css("color", "red"); 
     $("#<%= btn.ClientID %>").click(function() { 
      $("#<%= div1.ClientID %>").fadeOut("slow"); 
      return false; // to stop postback 
     }); 
}); 
+0

但是,聲明$(「#div1」).css(「color」,「red」);正確執行,我看到在REd中顯示的文本。 – Thomas

+0

那麼問題是什麼? – Adil

+0

正如我所提到的,FadeOut不起作用! – Thomas