具有相同类的对象有时不会隐藏

时间:2013-09-16 21:13:40

标签: javascript jquery html css

我正试图在点击时淡出蓝色圆圈标记。它适用于前几次点击,但之后标记不会淡出。我能做错什么?

这是 demo 。请查找动画圈蓝色标记。

P.S:我试图用.marker类来淡出对象。

var marker = $('.marker'),
    body = $('#movingBody'),
    dynamicbox = $('.dynamicbox'),
    dbleft = $('.dynamicbox.left').hide(),
    dbright = $('.dynamicbox.right').hide(),
    closeBtn = dynamicbox.find('.close');

marker.on('click', function() {
    var $this = $(this),
        rel = $this.attr('rel'),
        div = $(rel),
        img = $this.attr('href');

    marker.fadeOut(200);    
    $('.dynamicbox .content div').hide();
    div.show();
    $(img).fadeIn();

    function animateOut(unit) {
        body.animate({
            'left' : unit
        }, 500, 'easeOutCirc');
    }

    if($this.hasClass('r')) {
        animateOut(0); dbright.fadeIn(200);
    } else {
        animateOut(258); dbleft.fadeIn(200);
    }

    closeBtn.on('click', function() {
        body.animate({
            'left' : 140
        }, 500, 'easeOutCirc', function() {
            marker.fadeIn(200);
        });
        $(img).fadeOut();
        dynamicbox.fadeOut(200);
    });
});

1 个答案:

答案 0 :(得分:1)

尝试将此部分移到“点击”功能之外:

 closeBtn.on('click', function() {  
     ...
 });