javascript - jquery链淡入淡出方法不起作用

标签 javascript jquery

我正在尝试为主页创建一个网站横幅,它会淡出然后淡入新图像。这些图像包含在一个数组中,我正在使用 setInterval 方法来浏览它们。

但是,我在淡入淡出方面遇到了问题。图像在变化,但没有达到 jquery 期望的效果。

当我检查控制台时,它显示以下消息:

$(...).attr(...).fadeIn is not a function.

$(document).ready(function() {

  var bannerImages = [
    "banner1.jpeg",
    "banner2.jpg",
    "banner3.png"
  ];

  var currentImage = 0;

  // CHANGE THE BANNER IMAGE EVERY 5 SECONDS
  setInterval(function() {
    if (currentImage > bannerImages.length - 1) {
      currentImage = 0;
    }

    $(".banner-img").attr("src", bannerImages[currentImage]).fadeIn();
    currentImage++;
  }, 5000)
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<section id="banner">
  <div class="row">
    <div class="col-md-12">
      <img src="banner3.png" class="img-responsive center-block banner-img">
    </div>
  </div>
</section>

最佳答案

我在测试您的代码时没有收到错误消息... 对于淡入淡出链,您必须链接 fadeOut 和 FadeIn,在 fadeOut 回调中触发 fadeIn:

HTML(我删除了 src 以便在第一张图片上淡入淡出):

<section id="banner">
    <div class="row">
        <div class="col-md-12">
            <img src="" class="img-responsive center-block banner-img">
        </div>
    </div>
</section>

CSS:

.banner-img { display: none; }

JS :

$(document).ready(function() {

    var bannerImages = [
        "banner1.jpeg",
        "banner2.jpg",
        "banner3.png"
    ];
    var currentImage = 0;

    // First display
    $(".banner-img").attr("src", bannerImages[currentImage++]).fadeIn();

    // CHANGE THE BANNER IMAGE EVERY 5 SECONDS
    setInterval( function() {
        if (currentImage === bannerImages.length) {
            currentImage = 0;
        }
        $(".banner-img").fadeOut(function() {
            $(".banner-img").attr("src", bannerImages[currentImage++]).fadeIn();
        });
    }, 5000);
});

https://jsfiddle.net/vgta1rnm/2/

关于javascript - jquery链淡入淡出方法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47540842/

相关文章:

javascript - 在 JavaScript 中替换字符串中的 N 个字符

Javascript 下拉菜单插入符旋转

javascript - 没有最后一个元素的表追加

javascript - 如何获取iframe内内容的滚动位置

jquery - 如何让 3 个 div 彼此相邻对齐,以便它们位于底部和顶部 div 之间?

jQuery Html 操作问题

javascript - 主干验证功能不起作用

javascript - 使用 React 和 Material UI 禁用自动填充表单

javascript - Protractor/Jasmine 测试 browser.isElementPresent 在查找类时不起作用

javascript - 如何从 API 中删除 JWT 身份验证?