2012-12-28 26 views
1

我有一箇中繼器,錨標籤和div標籤裏面。該錨有一個jQuery,它正在滑動。但是,例如,如果我有5個項目在轉發div計數也是5,當我點擊錨時,所有div都在做slidetoggle。如何在錨點或鏈接按鈕中重複播放SlideToogle?

如果我使用itemcommand這是確定的,但這次的js不工作。因爲我使用的是linkbutton,並且它沒有點擊事件。那麼是否有解決方案來解決它? 這是我的轉發器和js。

<head runat="server"> 
    <title></title> 
    <script src="jquery-1.8.4.js"></script> 
    <script src="jquery-ui-1.9.2.custom.js"></script> 
    <script src="jquery-ui-1.9.2.custom.min.js"></script> 
    <script> 
     $(function() { 
      $('[id*=aNotice]').click(function() { 
       $('[id*=dvContent]').slideToggle(400); 
      }); 
     }); 
    </script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
     <div> 
      <asp:Repeater ID="rptNotice" runat="server"> 
       <ItemTemplate> 
        <a id="aNotice" runat="server">click to see toggle</a> 
        <div id="dvContent" runat="server"><%#Eval("content") %></div> 
       </ItemTemplate> 
      </asp:Repeater> 
     </div> 
    </form> 
</body> 
</html> 

回答

2

您可以使用next方法:

$(function() { 
    $('[id*=aNotice]').click(function() { 
      $(this).next('div').slideToggle(400); 
    }); 
}); 

注意,ID必須是唯一的,並使用$('[id*=aNotice]')矯枉過正,你應該使用類來代替。

$('.aNotice').click(function (event) { 
    event.preventDefault() 
    $(this).next('div').slideToggle(400); 
}); 

而且也有需要加載jQuery UI的兩倍,jquery-ui-1.9.2.custom.min.js只是精縮的jquery-ui-1.9.2.custom.js版本。

<script src="jquery-ui-1.9.2.custom.js"></script> 
<!-- <script src="jquery-ui-1.9.2.custom.min.js"></script> --> 
+0

感謝您的幫助。但我有一個問題。如果我使用第二個js,那就是event.preventDefault()鏈接不起作用。但現在第一個就可以了。你能解釋一下它在做什麼嗎? – Kadir

+0

@ kad1r歡迎您將事件傳遞給事件處理程序。 – undefined

相關問題