javascript - 自定义 jQuery slider 重复相同的图像 - 不递增到 'i'

标签 javascript jquery html css

目前它在转换之前重复相同的图像两次。它似乎没有通过“i”递增。我该如何修复 jQuery,使其一次只显示每张图片一次?

这是 fiddle : http://jsfiddle.net/9DU5M/

$(function () {
                var i = 1;
                (function doAnimation() {
                    $('.slide' + i + '-img').css({ 'background-position-x': '-50px', opacity: 1 }).animate({ 'background-position-x': '-5px' }, 5000, 'linear').animate({ 'background-position-x': '0px', opacity: 0 }, 500, 'linear', function () {
                        $(this).attr('class', 'slide' + (i = i == 3 ? 1 : i + 1) + '-img').css({ 'background-position-x': '-50px', opacity: 1 }).animate({ 'background-position-x': '-5px' }, 5000, 'linear').animate({ 'background-position-x': '0px', opacity: 0 }, 500, 'linear', doAnimation);
                    });
                })();
            });

最佳答案

当您更改为新图像时,您正在显示它,然后在您返回再次显示之前淡出它。只需淡入并返回显示即可:

$(function () {
    var i = 1;
    (function doAnimation() {
        $('.slide' + i + '-img').css({
            'background-position-x': '-50px',
            opacity: 1
        }).animate({
            'background-position-x': '-5px'
        }, 5000, 'linear').animate({
            'background-position-x': '0px',
            opacity: 0
        }, 500, 'linear', function () {
            $(this).attr('class', 'slide' + (i = i == 3 ? 1 : i + 1) + '-img').animate({
                'background-position-x': '0px',
                opacity: 1
            }, 500, 'linear', doAnimation);
        });
    })();
});

演示:http://jsfiddle.net/Guffa/9DU5M/1/

注意:我不确定您要对背景位置做什么。 background-position-x 样式是非标准的,只存在于 IE 和 Webkit 浏览器(Safari)中。您需要使用 background-position 样式以使其在更多浏览器中工作。

关于javascript - 自定义 jQuery slider 重复相同的图像 - 不递增到 'i',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22537631/

相关文章:

javascript - PhantomJS 在按钮单击事件后捕获下一页内容

javascript - 如何选择该div?

jquery - 如何在 bootstrap 中限制年龄最小 3 岁

javascript - AngularJS Controller 不是一个函数,未定义

javascript - 如何检查mongodb中特定字段的文档是否存在

javascript - 为什么 moment.unix(0) 返回 1 小时?

javascript - jQuery - 更改和表单提交后下拉列表变为空

jquery - 创建一个固定的导航,在滚动一小段距离后滑开并在向上滚动时返回

javascript - HTML:如何在输入字段中提供图像 url 作为输入

javascript - 对齐父项下的下拉列表内容