我想知道是否有人可以帮助我使用jQuery插件。基本上我想做的是淡出div中的每个图像,当它到达最后一个可见图像时,它应该向后淡入。
这是我到目前为止所做的:
setTimeout((function rotate(back) {
if ($('img:visible', $container).length > 1) {
$('img:visible:last', $container).fadeOut(opts.animation, function () {
setTimeout(rotate, opts.interval);
});
} else {
$('img:hidden:first', $container).fadeIn(opts.animation, function () {
setTimeout(rotate, opts.interval);
});
}
}), opts.interval);
但显然你可以看到这不起作用。它开始正常,然后返回1张图像然后再转发。
希望有人可以帮我解决这个问题:)
答案 0 :(得分:1)
你可以创建一个jQuery对象的图像和另一个图像反转。一旦你拥有这些,你应该做你想要的相对简单。即,首先淡出图像集,然后淡入反向图像集。
以下是获取对象的方法:
var $images = $('img', $container); // Set of images
var $segami = $($images.toArray().reverse()); // Set of images in reverse order
此致 尼尔
答案 1 :(得分:0)
我自己修正了:)
function rotate(forward, backward) {
if (backward == images - 1) {
backward = 0;
forward = images;
}
if (forward > 1 ) {
forward -= 1;
$('img:visible:last', $container).fadeOut(opts.animation, function () {
setTimeout(function () { rotate(forward, backward) }, opts.interval);
});
} else {
backward += 1;
$('img:hidden:first', $container).fadeIn(opts.animation, function () {
setTimeout(function () { rotate(forward, backward) }, opts.interval);
});
}
}
setTimeout(function () { rotate(i, i2) }, opts.interval);