首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery fadeout,fadein,等等,fadein再次中断

jquery fadeout,fadein,等等,fadein再次中断
EN

Stack Overflow用户
提问于 2012-10-30 00:32:09
回答 2查看 1.4K关注 0票数 0

我正在尝试存储div的内容,临时显示一条感谢消息,然后放回div的原始内容。由于某些(可能的,许多)原因,它正在失败,我不知道为什么。我做错了什么?

代码语言:javascript
复制
$('#btn').on('click', function() {
    //store original content
    //appears to be a text string, rather than a jquery object
    var content = $('#container').html();
    console.log(content);
    $('#container').children().fadeOut(800, function() {
        $('#container').html('<div id="thanks">Thanks!</div>', function() {
            $('#thanks').fadeIn(800, function() {

                var t=setTimeout(function(){$('#container').html(content)},3000)

            });
        });
    });
});​

http://jsfiddle.net/gaZCW/

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-30 00:40:19

html函数是同步的.不需要回调:http://jsfiddle.net/gaZCW/10/

代码语言:javascript
复制
$('#container').children().fadeOut(800, function() {
    $('#container').html('<div id="thanks">Thanks!</div>');
    $('#thanks').fadeIn(800, function() {
        $(this).delay(3000).fadeOut(800, function() {
            $('#container').html(content).children().hide().fadeIn(800);
        });
    });
});

此外,在这种情况下,delay将比设置超时更简洁(也更简洁)。

票数 0
EN

Stack Overflow用户

发布于 2012-10-30 00:33:40

html函数只有一个参数。所以你的回调不会被调用。

我检查了the source以确保:

代码语言:javascript
复制
html: function( value ) {

您可以执行以下操作:

代码语言:javascript
复制
$('#container').html('<div id="thanks">Thanks!</div>');
$('#thanks').fadeIn(800, function() {
     var t=setTimeout(function(){$('#container').html(content)},3000)
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13125781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档