javascript - 使用 jQuery + FadeOut 更改图像源

标签 javascript jquery

我已经成功实现了这段代码,以便使用jquery在img srcs之间切换,从之前的solution中找到。

$('img').on({
    'click': function() {
         var src = ($(this).attr('src') === 'img1_on.jpg')
            ? 'img2_on.jpg'
            : 'img1_on.jpg';
         $(this).attr('src', src);
    }
});

我想知道是否有人可以帮助我实现淡出效果以在 img srcs 之间进行转换,我已经尝试了几次,但似乎无法理解 jquery。 非常感谢您的帮助!

最佳答案

两者.fadeOut().fadeIn()当动画完成时,可以使用第二个参数作为函数 - 您可以仅在图像隐藏后使用它来更新 src

然后您可以像平常一样链接.fadeIn()

$('img').on('click', function() {
  let src = ($(this).attr('src') === 'https://placekitten.com/125/?image=11')
    ? 'https://placekitten.com/125/?image=12'
    : 'https://placekitten.com/125/?image=11';
    
  $(this)
    .fadeOut(1500, () => $(this).attr('src', src))
    .fadeIn(1500);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<img src='https://placekitten.com/125/?image=11'/>

为了演示/清晰度,我稍微交换了您的代码

关于javascript - 使用 jQuery + FadeOut 更改图像源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60404080/

相关文章:

javascript - moment.js 根据差异更改格式

jquery - 将鼠标悬停在 LI 上即可显示 div

javascript - 替换响应表以获得更好的标记和可访问性

javascript - jQuery ajax() 与 get()/post()

javascript - 如何不获取json调用的所有数据

javascript - 如何将数据传递到 DataTable.JS 列的 defaultContent

javascript - 将焦点移至 Enter 键上的下一个控件

javascript - Intl.DateTimeFormat 在节点和浏览器中以不同的方式工作

javascript - 动态更改数据键名来自 JSON AngularJS

javascript - jQuery "bounce"对中心对齐 block 元素的影响使它们在 Firefox 和 IE8 中左对齐