我正在尝试存储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)
});
});
});
});http://jsfiddle.net/gaZCW/
发布于 2012-10-30 00:40:19
html函数是同步的.不需要回调:http://jsfiddle.net/gaZCW/10/
$('#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将比设置超时更简洁(也更简洁)。
发布于 2012-10-30 00:33:40
html函数只有一个参数。所以你的回调不会被调用。
我检查了the source以确保:
html: function( value ) {您可以执行以下操作:
$('#container').html('<div id="thanks">Thanks!</div>');
$('#thanks').fadeIn(800, function() {
var t=setTimeout(function(){$('#container').html(content)},3000)
});https://stackoverflow.com/questions/13125781
复制相似问题