javascript - .delay() 函数不适用于 attr() 函数

标签 javascript jquery

我的网站中有一些图像,使用此代码我想隐藏它们,更改显示的图像并将它们显示回来,但新图片会立即显示。我不知道该怎么办。

这是 JavaScript:

$(document).ready(function() {
  $('.show').click(function() {
    $(this).removeClass("show").addClass("clickedShow");
    $('.show').animate({opacity: 0}, 1000);
    $(this).delay(1000).animate({opacity: 0}, 1000);

    $(this).animate({opacity: 1}, 1000).attr("src", "pic2.png");
    $('.show').delay(1000).animate({opacity: 1}, 1000).attr("src", "pic2.png");
  });
});

最佳答案

delay 仅适用于可排队的动画,attr 未排队,因此不受 delay 的影响。如果您想在动画结束时执行某些操作,请将操作添加到 animation 回调中。

$(this).animate({opacity: 1}, 1000, function(){$(this).attr("src", "pic2.png")});

关于javascript - .delay() 函数不适用于 attr() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15428826/

相关文章:

javascript - 淡入淡出效果但对于页面

javascript - 否则如果方法执行失败怎么办?

jquery - Bulma CSS - 'nav-toggle' 不工作

jQuery slideDown 跳转效果

javascript - 在 jQuery 中选择元素

javascript - angular2 组件中的多个动画触发器

javascript - Bootstrap 3 网格轮播

javascript - 将事件处理程序附加到多个文本框(具有相似的模式 ID)?

javascript - 通过 javascript : avoid the "Postback" warning 重新加载页面

jquery slider 和鼠标悬停代码