jquery - 为什么 .fadeIn ('slow' ) 在这里不起作用?

标签 jquery html css

我正在尝试制作一个带有按钮的简单画廊,允许用户循环浏览图像。当用户单击按钮并且图像发生变化时,我希望它淡入但它似乎没有执行任何操作?这是我所拥有的:

$(function () {
    $("#homeGalleryControls li a").click(function () {
          var image = $(this).attr("rel");
          $('#galleryImage').fadeIn('slow');
          $('#galleryImage').attr("src", image);
          $('.galleryButton').attr("src", "/Content/Images/Design/btn_default.gif");
          $(this).find('img').attr("src", "/Content/Images/Design/btn_checked.gif");
    });
});

谁能看出这里出了什么问题吗?

谢谢

最佳答案

问题是 fadeIn 和 fadeOut 不能直接作用于 img 元素,所以我添加了一个容器 div。 我创建了一个 JSBin (因为 JSFiddle 已关闭)演示了您想要执行的操作。 这是JSBin 没有容器 div 的示例,您可以看到它无法工作。

HTML

<div id="imageContainer">
  <img id="image" />
</div>

JavaScript 代码

$(document).ready(function () {
  var image$ = $("#image"),
      imageContainer$ = $("#imageContainer"),
      parent$ = imageContainer$.parent();

  imageContainer$.fadeOut(0, function () {
    imageContainer$.detach();

    image$.on("load", function () {
      imageContainer$.fadeIn(400);
    });

    image$.attr("src", "http://www.waleoyediran.com/wp-content/uploads/2011/04/stackoverflow.png");

    parent$.append(imageContainer$);
  });
});

我还改变了顺序。因此,首先下载图像,只有当图像可用时,它才会淡入。

关于jquery - 为什么 .fadeIn ('slow' ) 在这里不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11502380/

相关文章:

javascript - 当内容出现时显示固定标题

javascript - 将鼠标悬停在 Chrome 上的 React 中数字输入的递增/递减值按钮上会导致持续增加

HTML 和 CSS - 导航栏不会使用 float left 水平 float

jquery - 添加到 html 后获取视频 html 5 持续时间

jquery - 卡住html表中的多列

css - 音量条的自定义皮肤

html - 什么 CSS 选择器影响未填充所需输入的边框?

php代码没有按预期获取文件

javascript - jQuery - 更改页面上的所有 URL 包括 CSS 和 JavaScript 文件

jquery - Parsley JS 添加类到表单