【发布时间】:2013-05-15 03:30:55
【问题描述】:
女士们先生们,晚上好,
在第二次点击功能发生后,我正在尝试弄清楚如何从第一次点击功能中删除属性。
<script type="text/javascript">
$(document).ready(function(){
$('.description').hide();
$('.open').click(function(){
$(this).attr('id', 'active');
$('.description').hide();
var section = $(this).attr('rel');
$(section).slideToggle('fast');
});
$('.close').click(function(){
$(this).parents('.description').slideUp('fast');
$('.open').removeAttr('id', 'active');
});
});
</script>
我的意思是,虽然我的隐藏 DIV 上有一个关闭按钮,一旦单击它就可以正常工作(即它从 .open 类中删除属性),但我看不到它如果隐藏的 DIV 通过单击然后下一步单击功能关闭,则可以工作。
我可能真的没有很好地解释自己,所以也许举个例子更简单:
我只为前两个菜单项(Cashier & Deli)创建了 DIV,所以我将使用这两个示例。如果您单击 Cashier 项目,隐藏的 DIV 会出现,如果您在该 DIV(右对齐)上按“CLOSE”,则活动状态会在第一个菜单项上消失。伟大的。这行得通。
但是,如果我决定关闭隐藏的 DIV,而不是通过“关闭”链接,而是通过单击下一个菜单项 (Deli),Cashier 和 Deli 菜单项都将保持活动状态。再说一次,我的问题是,当第二个菜单项上的第二次单击功能发生时,我是否可以以某种方式将其删除。
提前非常感谢!
【问题讨论】:
-
一开始为什么要去掉属性
-
因为我不希望菜单项保持活动状态 - 即。如您在网站上的示例中所见,保持绿色。
-
最好使用一个类来代替.. 只需使用 addClass 和 removeClass 就可以了
-
是的。那是行不通的。刚试了一下。这是一个添加类,然后在 .close 函数和下一个 .open 单击(函数())发生时将其删除的问题。这就是问题所在,而不是我添加了属性还是类。
标签: jquery slidetoggle