【发布时间】:2014-03-02 07:39:45
【问题描述】:
我正在编写一些 jquery 代码来切换 Div 可见性。我按照这里发布的方法:http://jsfiddle.net/Ga7Jv/。
当用户点击一张图片(在 H2 标签旁边)时,我希望它切换 div。
这里是 Jquery:
$(function()
{
$(".expander").live('click', function(){
$(this).next("#TableData").slideDown();
$(this).removeClass('expander');
$(this).addClass('expanded');
});
$(".expanded").live('click', function(){
$(this).next("#TableData").slideUp();
$(this).removeClass('expanded');
$(this).addClass('expander');
});
这是 HTML:
<h3><img src="toggle.png" class ="expander" alt="Expand"/>
Tabular Data</h3>
<div id="TableData">
//Content
</div>
css 应用于类扩展器,当我单击按钮时,css 似乎发生了变化,正如我所期望的那样。所以我假设代码正在找到切换按钮并切换类。
但是它没有执行我需要的操作,即根据该类向上或向下滑动 div。
我尝试实现的另一种方法是:
$(function(){
$('.expander').live('click',function(){
$('#TableData').show();
$('#TableData').hide();
});
这只会关闭 div,当我单击它时不会再次打开。我也有,所以它关闭得很好,但是当我打开它时,它会立即再次关闭。
谢谢
【问题讨论】:
-
旁注: 从 jQuery 1.7 开始,.live() 方法已被弃用。使用 .on() 附加事件处理程序。旧版本 jQuery 的用户应该使用 .delegate() 而不是 .live()。
-
感谢所有答案,如果我不需要,我最终使用 Satpal 来避免更改课程。
标签: javascript jquery html css