修改Javascript动画面板中的关闭按钮

时间:2012-10-17 09:11:17

标签: javascript html

点击链接时,我使用以下javascript向右滑动打开的面板。

jQuery(function($){

$('a.panel').click(function() {
    var $target = $($(this).attr('href')),
        $other = $target.siblings('.active'),
        animIn = function () {
            $target.addClass('active').show().css({
                left: -($target.width())
            }).animate({
                left: 0
            }, 500);
        };

    if (!$target.hasClass('active') && $other.length > 0) {
        $other.each(function(index, self) {
            var $this = $(this);
            $this.removeClass('active').animate({
                left: -$this.width()
            }, 500, animIn);
        });
    } else if (!$target.hasClass('active')) {
        animIn();
    }
});

$('.close').click(function(){        
    $(this).closest('.panel').animate({
                left: -200
            }, 500);
});

});

单击关闭按钮时,面板将关闭。

我需要的是,当单击关闭按钮时,将从面板中删除“ACTIVE”类。如果可能的话,锚被移除。

这是因为如果用户再次点击同一个面板链接,则无法打开。

请参阅此jsfiddle

由于

1 个答案:

答案 0 :(得分:2)

只需将.removeClass('active')添加到关闭功能,请参阅http://jsfiddle.net/RZpbK/479/

 $('.close').click(function(){        
    $(this).closest('.panel').animate({
                left: -200
            }, 500).removeClass('active');
});

正如我所看到的那样,该功能按预期工作,但我不明白你为什么要删除锚点?那么下次你打开它时它就不能关闭了吗?