-4

JQuery fadeOut 没有第二次运行。

 <div id="clickme">click here</div>

JS

$('#clickme').click(function() {
    $('#feedback').html('hello world').fadeOut('slow', function() {
        $(this).remove();
    });
});

我试过不删除;在那种情况下它也不起作用。

4

4 回答 4

1

1/ 不要移除元素,而是隐藏它。

2/你需要在fadeOut之前显示元素,如果它已经隐藏,它不会淡出。(或使用animate适当的参数)

http://jsfiddle.net/QmajJ/

$('#clickme').click(function() {
    $('#feedback').html('hello world').show().fadeOut('slow', function() {
        $(this).hide();
    });
});
于 2013-04-08T06:19:39.897 回答
0

我不知道您要做什么,但第二次无法正常工作,因为您从第一次删除了该元素

$('#clickme').click(function() {
    $('#feedback').html('hello world').fadeOut('slow', function() {
        $(this).remove(); // <----- you are removing the feedback element so in the second time there will be no "$('#feedback')" because of that its not working 
    });
});
于 2013-04-08T06:17:56.670 回答
0

正确取消绑定您的点击控件

$('#clickme').unbind().click(function() {
   //your content
});
于 2013-04-08T06:22:28.010 回答
0

您已删除要设置动画的元素

$('#feedback').html('hello world').fadeOut('slow', function() {
    $(this).remove();
});
于 2013-04-08T06:39:29.107 回答