gpt4 book ai didi

javascript - 使用 JQuery 进行图像交换之间的定时转换?

转载 作者:行者123 更新时间:2023-12-02 19:37:24 25 4
gpt4 key购买 nike

我有这个代码:

$('.pic_windows img').mouseenter(function () {
$(this).effect('shake', {
times : 4,
distance : 5
}, 15).attr('src', $(this).attr('src').replace(/.jpg/, '-1.jpg'))
});

$('.pic_windows img').mouseleave(function () {
$(this).attr('src', $(this).attr('src').replace(/-1.jpg/, '.jpg'))
});

我使用 JQuery 的 .attr 来交换图像,但我希望交换发生在大约 1 秒的时间内。我用谷歌搜索了这个并获得了所有这些复杂的“CSS3 转换与 JQuery 后备”教程。有没有办法“动画” .attr 更改?

我想我应该做一个淡出,而另一个淡入,但我不知道如何编写它,因为我几乎是一个完整的 JQuery 新手。我在几页的过程中需要完成许多这样的转换。如果我只需要为一个实例编写此内容,那就轻而易举了。

更新在鼠标输入时,图像会晃动,然后应该在晃动期间从一张图片淡入其交换的图片。在鼠标离开时,图像应该淡回到原始图片。不幸的是,我还发现抖动效果在 IE、所有版本以及图像交换上都被破坏了(根本看不到图像 2)

最佳答案

不,您无法为属性更改设置动画。您可以做的是克隆一个元素,更改属性并在它们之间进行转换。

var target = $(this).fadeOut();
var src = target.attr('src').replace(/-1.jpg/, '.jpg');
var copy = target.clone()
.attr('src', src)
.hide()
.insertAfter(target)
.fadeIn();

编辑:感谢您澄清您的意图,我建议不要使用“src”,这本质上需要构建一个小型有状态插件。相反,坚持此处所需的效果,悬停时显示图像。 jsFiddle

HTML

<div class="shaker">
<img src="http://lorempixel.com/output/nature-q-c-360-240-3.jpg" />
<img class="hover" src="http://lorempixel.com/output/technics-q-c-360-240-9.jpg" />
</div>​

CSS

.shaker {
position: relative;
}
.shaker img {
position: absolute;
}
.hover {
display: none;
}

JS

$('.shaker').hover(function () {
$(this).effect('shake', {
times: 4,
distance: 5
}, 15);
$(this).find('.hover').fadeIn();
}, function () {
$(this).find('.hover').stop().fadeOut();
});​

http://jsfiddle.net/eHQ3t/13/

关于javascript - 使用 JQuery 进行图像交换之间的定时转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10792685/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com