在 JQuery 中,replaceWith() 而元素 fadeOut() 和 fadeIn()

发布于 2024-12-11 09:12:14 字数 494 浏览 0 评论 0原文

我想做的很简单,淡出容器内的所有图像,将 #next1 的图像替换为 #active,然后再次淡入所有图像。

这是我的代码:

$('.logo').fadeOut('slow', function() {
    $('#active>img').replaceWith( $('#next1>img') );
}).fadeIn('slow', function() {});

这不起作用。我发现自己看着空的#active,

但是这个;

$('.logo').fadeOut('slow', function() {}).fadeIn('slow', function() {});
$('#active>img').replaceWith( $('#next1>img') );

使替换很好,但不是我想要做的动画。

我用 chrome 和 ie 得到相同的结果。

What I'm trying to do is simply, fadeout all images inside containers, replace #next1's image to #active and after that fadein all images again.

here is my code:

$('.logo').fadeOut('slow', function() {
    $('#active>img').replaceWith( $('#next1>img') );
}).fadeIn('slow', function() {});

this does not work. i found myself looking at the empty #active

but this however;

$('.logo').fadeOut('slow', function() {}).fadeIn('slow', function() {});
$('#active>img').replaceWith( $('#next1>img') );

makes the replacing just fine but not the animation i'm trying to do.

i get same results with both chrome and ie.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

苍暮颜 2024-12-18 09:12:14

我的建议是查看 jQuery 中的 Promise/Done 方法。作为一个例子,你可以这样做:

$('.logo').fadeOut('slow').promise().done(function(logo) {
    $('#active>img').replaceWith($('#next1>img'));
    $(logo).fadeIn('slow');
});

jQuery Promise - http://api.jquery.com/promise/< /a>

My suggestion here would be to look at the promise/done methods in jQuery. As an example here you could do something like:

$('.logo').fadeOut('slow').promise().done(function(logo) {
    $('#active>img').replaceWith($('#next1>img'));
    $(logo).fadeIn('slow');
});

jQuery promise - http://api.jquery.com/promise/

红玫瑰 2024-12-18 09:12:14

尝试:

$('.logo').fadeOut('slow', function() {
    $('#active>img').replaceWith( $('#next1>img') );
    $(this).fadeIn('slow');
});

假设您想要实现的效果是淡出,然后在 .logo 隐藏时替换内容,然后在替换徽标后淡入。

Try:

$('.logo').fadeOut('slow', function() {
    $('#active>img').replaceWith( $('#next1>img') );
    $(this).fadeIn('slow');
});

Assuming what you want to achieve is fading out, then replacing the content while .logo is hidden, then fading in after the logo is replaced.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文