如何使用 JQuery 添加淡入淡出或图像过渡效果?
我的页面上只有一个 元素。我每 7 秒更改一次该图像的
src
属性。
我每 7 秒看到一次新图像,但如果我可以在加载新图像时添加一些淡入淡出或过渡效果,那就更好了。
有些人有简单的脚本吗?
我不需要任何插件。只需要一些线索或几行示例即可完成此操作。
I have just one <img>
element on my page. I change the src
attribute of this image every 7 seconds.
I see the new images every 7 secs, but it would be nicer if I can add some fading or transitions effect when loading new image.
Does some have simple script for this?
I don't need any plugin. Just need some clue or few lines of sample for doing it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
尽管 KaiQing 提到过,您可以使用 jQuery 的回调功能在更改图像时淡入/淡出图像。可以这样做: http://www.jsfiddle.net/bradchristie/HsKpq/1/
Despite what KaiQing mentioned, you can use the callbacks ability of jQuery to fade in/out the image while you're changing it. This can be done like so: http://www.jsfiddle.net/bradchristie/HsKpq/1/
您需要使用两个图像:
将
#backImg
设置为#frontImg
后面,如下所示:然后,在每 7 秒触发一次的代码中,淡出前面的图像。 ..这将自动执行交叉淡入淡出效果,因为背面图像已经加载在其后面。淡入淡出完成后,将前图像的源设置为后图像的 src,显示它,并将下一个图像预加载到后图像中:
这一切都假设您的图像大小相同。如果没有,您需要对 css 进行更精细的处理,并将图像包装在淡出的 div 中。
You'll want to use two images:
Set
#backImg
to be behind#frontImg
like so:Then, in your code that fires every 7 seconds, fadeOut the front image... this will automatically do your crossfade effect because the back image is already loaded behind it. When the fade is done, set the source of the front image to the back image's src, show it, and pre-load the next image into the back image:
This all assumes your images are identically sized. If not, you'll want to be just a little more elaborate with the css and wrap the images in divs that fade out.
你不能只用一张图像来做到这一点。
看看这个:
You can't do this with just one image.
Check this out: