2013-02-11 63 views
0

有点挂断jQuery addClass。我的标记中有一个#story div,它在获取“离开”类时缩小,然后在丢失该类时弹出。jQuery有条件的addClass不工作

这里的障碍:

$('#story div.x').on('click', function() { 
    if (!$('#story').hasClass('away')) { 
    $('#story').addClass('away'); 
    } 
}); 

上面简单的代码添加一个空白类=“”我的故事元素,但...

$('#story div.x').on('click', function() { 
    if (!$('#story').hasClass('away')) { 
    setTimeout(function() { 
     $('#story').addClass('away'); 
    }, 1000); 
    } 
}); 

该代码添加适当的类=”离开“属性。

什么给?

+2

是否正在更新其他地方'#story'元素的类? – Alexander 2013-02-11 18:50:44

+1

继续关注亚历山大的问题:可能会有另一个点击事件处理程序,在您在此处发布的处理程序之后调用,即清除该类?您可以通过从“click”事件处理函数返回false来快速测试。 – dgvid 2013-02-11 18:52:34

+0

@Mathletics,代码工作不同于一个OP使用 – Alexander 2013-02-11 18:55:17

回答

1

听起来好像有另一个事件更新类,或者元素还没有准备好,但在1秒后可能变得可用,可能在ajax调用之后或DOM准备就绪后。

难道是这样吗?