【发布时间】:2014-01-19 09:06:39
【问题描述】:
我一直试图弄清楚如何在下面的代码中对 image2 进行简单的淡入操作。通常我会使用带有 position: absolute 和 z-index 的 css 将 image1 放在 image2 的顶部,然后淡出 image1 以显示 image2。问题是我正在尝试使用 Twitter Bootstrap 响应式 css,这似乎排除了这个和类似的简单方法,所以我转向了 jQuery。但我似乎无法正确编码。我在下面使用的内容仅在加载 image2 之前显示了 image1 的一瞬间。这也只是我想要它做的一部分。一旦我更改了延迟的图像 src,我想淡入新图像。我尝试将 image2 放在包含 div 背景图像中,但无法让响应式 css 正确处理它。所以我不确定还有什么可以尝试的。有人可以指出我正确的方向吗?我似乎只能找到 CSS 效果的方法。
在 html 文件中:
<img class="contactus" src="/responsive/images/image1.jpg" />
在 javascript 文件中:
$(".contactus").delay(3500).attr("src", "/responsive/images/image2.jpg");
谢谢
【问题讨论】:
-
如果您要更改 src,除非您预加载图像,否则您需要使用
$(".contactus").on('load', function(){...});,以便在新图像加载之前不会发生任何动画。 -
你可以这样做:Jsfiddle
-
@Popnoodles-forgot 表示 js 被包裹在 $(document).ready(function()
-
@ilias-在 Twitter Bootstrap 环境中,第二张图片放在第一张下方(高度轴)。因此,当图像切换时,第二个图像会在页面上向上移动到第一个淡出的位置。
-
我改变了图像的位置,它们现在堆叠在一起new jsfiddle。