【问题标题】:fadein fadeout help淡入淡出帮助
【发布时间】:2010-11-26 19:44:33
【问题描述】:

实际上,我根本无法正常工作。到目前为止我所做的工作,但我想淡入一条消息,然后淡出它。在它淡出之后,我想完全删除 div。

谁能告诉我这里缺少什么?

    var div = $('<div>').attr('id', 'error').html('Cannot Be Blank');
    $('body').append(div);

【问题讨论】:

    标签: jquery


    【解决方案1】:
    var div = $('<div />').attr('id', 'error')
                          .html('Cannot Be Blank')
                          .hide();
    $('body').append(div);
    $("#error").fadeIn("slow", function() {
        $(this).fadeOut("slow", function() {
            $(this).remove();
        });    
    });
    

    演示:http://jsfiddle.net/karim79/wpxCk/

    为了确保淡出发生在淡入之后,它应该在淡入的回调中触发。同样,错误 div 的删除应该在fadeOut 的回调中进行。见:

    【讨论】:

    • 感谢卡里姆的链接。我来这里之前去过那里,但我不明白。为什么 JQuery 中的一切都是函数?这有点神秘。
    【解决方案2】:

    因此,您需要的 jQuery 函数如下:

    1) .fadeIn( [ 持续时间 ], [ 回调 ] )
    2) .fadeOut( [ 持续时间 ], [ 回调 ] )
    3) .remove([选择器])

    意味着您可以按这样的顺序嵌套它们,将它们作为回调放置。

    errordiv = $("#error");
    $(errordiv).fadeIn("slow", function(){ 
        $(errordiv).fadeOut("slow", function() {
            $(errordiv).remove();
        })
    });
    

    【讨论】:

    • 嗨,Vuk。究竟什么是回调?
    • 它是对一段可执行代码的引用,它作为参数传递给稍后将执行它的函数。这里有一些解释 - stackoverflow.com/questions/3616181/callback-function-meaning/…
    • 感谢您的链接和解释。 Vuk,我可以问你一个关于我的代码的问题吗?我的效果按我想要的方式工作,但我似乎无法控制错误 div 的放置位置。我必须怎么做才能把它送到我想要的地方?
    • 是的,这更多是关于 html/css 问题,所以我建议您为此提出一个新问题,并提供更多关于您想要实现的目标的信息。
    • 好的,Vuk,谢谢。我会去做的。再次感谢所有帮助。
    【解决方案3】:
    $(div).fadeOut('slow', function() {
        // Animation complete.
    });
    
        $(div).remove();
    

    在你当前的代码之后添加这个:)

    【讨论】:

    • 实际上,SO 说我可以在 2 分钟后接受。您的代码确实有效。我应该把功劳归功于谁?你还是卡里姆?
    • 感谢本的诚实! :)
    【解决方案4】:

    你可以这样做:

    $('<div>').attr('id', 'error').html('Cannot Be Blank').appendTo('body')
              .hide().fadeIn().fadeOut(function() { $(this).remove(); });
    

    不过,您可能希望在此处使用一个类进行样式设置...除非它需要一个 ID,否则您可以不使用它,在 jQuery 的更高版本中,将其缩短为:

    $('<div>', { html: 'Cannot Be Blank' }).appendTo('body')
      .hide().fadeIn().fadeOut(function() { $(this).remove(); });
    

    【讨论】:

      猜你喜欢
      • 2022-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多