2

晚会女士们先生们,

在第二次点击功能发生后,我试图弄清楚如何从第一次点击功能中删除属性。

<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 菜单项都将保持活动状态。再说一次,我的问题是,当第二个菜单项上的第二次单击功能发生时,我是否可以以某种方式将其删除。

提前非常感谢!

4

1 回答 1

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');
});
于 2013-05-15T03:55:03.380 回答