Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery淡出,淡出,等等,淡出又坏了_Javascript_Jquery_Settimeout - Fatal编程技术网

Javascript jquery淡出,淡出,等等,淡出又坏了

Javascript jquery淡出,淡出,等等,淡出又坏了,javascript,jquery,settimeout,Javascript,Jquery,Settimeout,我正在尝试存储div的内容,临时显示一条感谢消息,然后放回div的原始内容。由于某些(可能是许多)原因,它失败了,我无法找出原因。我做错了什么 $('#btn').on('click', function() { //store original content //appears to be a text string, rather than a jquery object var content = $('#container').html(); conso

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

$('#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)

            });
        });
    });
});​
$('btn')。在('click',function()上{
//存储原始内容
//显示为文本字符串,而不是jquery对象
var content=$('#container').html();
控制台日志(内容);
$(“#容器”).children().fadeOut(800,function()){
$('#container').html('Thank!',function()){
$(“#谢谢”).fadeIn(800,function(){
var t=setTimeout(function(){$('#container').html(content)},3000)
});
});
});
});​

该函数只接受一个参数。所以你的回调没有被调用

我检查了一下以确定:

html: function( value ) {
您可以这样做:

$('#container').html('<div id="thanks">Thanks!</div>');
$('#thanks').fadeIn(800, function() {
     var t=setTimeout(function(){$('#container').html(content)},3000)
});
$('#container').html('Thank!');
$(“#谢谢”).fadeIn(800,function(){
var t=setTimeout(function(){$('#container').html(content)},3000)
});

html函数是同步的。。。不需要回调:

$(“#容器”).children().fadeOut(800,function(){
$('#container').html('谢谢!');
$(“#谢谢”).fadeIn(800,function(){
$(this).delay(3000).fadeOut(800,function(){
$('#container').html(content.children().hide().fadeIn(800);
});
});
});

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

到底是什么失败,您收到了什么错误消息?啊哈。这是有道理的。在这种情况下,如何构造函数回调?谢谢你为什么需要回电话?这个调用是同步的,您甚至没有远程资源可以加载。我没有很好的解释。此代码在“谢谢”中淡出,但在3秒设置超时后不会将原始内容放入。谢谢你的帮助。。我不知道你犯了什么错误。是的,我知道。我一定是第一次打错了什么。谢谢
$('#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);
        });
    });
});