0

嗨,我正在使用 JQuery 幻灯片。我的 html 中的所有图像都在彼此之上,我试图让我的代码从最后一张图像开始。但它不会工作,有什么想法吗?

原始代码如下所示:

$(document).ready(function() {
    var current = $('#gallery img:first');
    //Set the fade in effect for the next image, show class has higher z-index
    current.addClass('show').css({
        opacity: 0.0
    }).animate({
        opacity: 1.0
    }, 1000);

    setInterval('gallery()', 3000);
});

function gallery() {
    //if no IMGs have the show class, grab the first image
    var current = ($('#gallery img.show') ? $('#gallery img.show') : $('#gallery img:first'));

    //Get next image, if it reached the end of the slideshow, rotate it back to the first image
    var next = ((current.next().length) ? current.next() : $('#gallery img:first'));

    //Set the fade in effect for the next image, show class has higher z-index
    next.css({
        opacity: 0.0
    }).addClass('show').animate({
        opacity: 1.0
    }, 1000);

    //Hide the current image
    current.animate({
        opacity: 0.0
    }, 1000).removeClass('show');
}​

我的反向代码如下所示:

$(document).ready(function() {
    var current = $('#gallery img:last');
    //Set the fade in effect for the next image, show class has higher z-index
    current.addClass('show').css({
        opacity: 0.0
    }).animate({
        opacity: 1.0
    }, 1000);

    setInterval('gallery()', 3000);
});

function gallery() {
    //if no IMGs have the show class, grab the first image
    var current = ($('#gallery img.show') ? $('#gallery img.show') : $('#gallery img:last'));

    //Get next image, if it reached the end of the slideshow, rotate it back to the first image
    var before = ((current.before().length) ? current.before() : $('#gallery img:last'));

    //Set the fade in effect for the next image, show class has higher z-index
    before.css({
        opacity: 0.0
    }).addClass('show').animate({
        opacity: 1.0
    }, 1000);

    //Hide the current image
    current.animate({
        opacity: 0.0
    }, 1000).removeClass('show');
}​
4

1 回答 1

1

在没有测试页面的情况下,我在 ul 中添加了图像是这样做的:

var before = ((current.prev().length) ? current.prev() : $('#gallery img:last'));

这将选择要显示的上一个图像,如果没有,则再次选择最后一个图像。

如果这对你有用,你可以试试吗?

于 2012-04-18T18:04:04.810 回答