晚上女士和男士,
在第二次单击功能发生后,我试图找出如何从第一次单击功能中删除属性,这有点蠢。
<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&amp; Deli)创建了DIV,所以这些是我要使用的两个例子。如果单击“收银台”项目,则会显示隐藏的DIV,如果您在该DIV(右侧对齐)上按“关闭”,则活动状态将在第一个菜单项上消失。大。这很有效。
但是,如果我决定不通过“关闭”链接关闭隐藏的DIV,而是通过单击下一个菜单项(熟食店),收银台和德利菜单项都保持活动状态。所以,我的问题是,当第二个菜单项上出现第二次点击功能时,我是否可以以某种方式将其删除。
提前非常感谢!
答案 0 :(得分:0)
您正在通过删除id
属性来执行非常糟糕的方法,因为您可以非常轻松地执行相同的任务。
此外,我看到你正在使用精灵,你已经为它准备了相关的图像..
所以尝试这种方法..
$('.description').hide();
$('.open').click(function(){
var $this = $(this);
$('.description').hide();
$this.addClass('active');
// Select all the open tags
var $tags = $('.open').not($this);
// Remove the active class for all the items except the clicked open
$tags.removeClass('active');
var section = $(this).attr('rel');
$(section).slideToggle('fast');
});
$('.close').click(function(){
$(this).closest('.description').slideUp('fast');
$('.open').removeClass('active');
});