图像旋转器不会在第二个实例上隐藏最后一个图像

斯蒂芬·韦

第一个实例很好用,但是第二个不会隐藏以前的图像。还有什么可以改善性能的地方吗?

演示版


$(function() {
    $('.fader img:not(:first)').hide();
    $('.fader img').css('position', 'absolute');
    $('.fader img').css('top', '0px');
    $('.fader img').css('left', '50%');
    $('.fader img').each(function() {
        var img = $(this);
        $('').attr('src', $(this).attr('src')).load(function() {
            img.css('margin-left', -this.width / 2 + 'px');
        });
    });

    var pause = false;

    function fadeNext() {
        $('.fader img').first().fadeOut().appendTo($('.fader'));
        $('.fader img').first().fadeIn();
    }

    function fadePrev() {
        $('.fader img').first().fadeOut();
        $('.fader img').last().prependTo($('.fader')).fadeIn();
    }

    function doRotate() {
        if(!pause) {
            fadeNext();
        }    
    }

    var rotate = setInterval(doRotate, 2000);
});
乔恩·库普斯

您实际上可以用更少的代码来完成此操作,还建议您使用CSS过渡来利用硬件加速,而不是过多地依赖jQuery函数。

看一下我的例子:http : //jsfiddle.net/CUJAZ/

(function() {

    'use strict';

    var currentSlide = 0;
    var $slides = jQuery('.slideshow img');

    var slideTo = function ( targetIndex ) {

        $slides.removeClass('show');
        $slides.eq(targetIndex).addClass('show');

        currentSlide = targetIndex;
    };

    var prevSlide = function () {

        if( currentSlide === 0 ) {
            return;
        }

        slideTo(currentSlide - 1);
    };

    var nextSlide = function () {

        if( currentSlide >= $slides.length - 1 ) {
            return;
        }

        slideTo(currentSlide + 1);
    };

    slideTo(0);
    var timer = window.setInterval(nextSlide, 2000);

})();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

创建第二个实例时,画布上的第一个实例图像消失

来自分类Dev

文字不会在第二个导航栏上对齐

来自分类Dev

如何创建一个计时器来显示第二个C#的图像

来自分类Dev

立即调用的函数表达式不会在第二个需求上执行

来自分类Dev

将图像从第一个活动传递到第二个活动

来自分类Dev

第一个抖动图像显示,但第二个不显示

来自分类Dev

在第二个循环中未显示第一个滑块图像

来自分类Dev

为什么 while 不会在第二个循环处停止

来自分类Dev

与GPUImage融合:如何控制第二个图像在第一个图像之上的位置

来自分类Dev

JavaScript-在第一个图像周期结束时加载第二个图像帧

来自分类Dev

UIPickerView旋转第一个时旋转第二个轮子

来自分类Dev

如何使用JQuery根据第一个TD中存储的表的值隐藏第二个TD中存储的图像?

来自分类Dev

比较两个图像并突出显示第二个图像上的差异

来自分类Dev

隐藏第一个按钮点击显示第二个,隐藏第二个点击显示第一个按钮

来自分类Dev

在母版页上的LinkButton不会在ASP.NET中的第二个子页上触发

来自分类Dev

使用CSS悬停在第二个元素上时隐藏第一个元素

来自分类Dev

第一个文件类型预览图像显示在第二个文件类型

来自分类Dev

通过单击第一个按钮IOS7更改第二个按钮图像

来自分类Dev

画布-将结果图像从第一个画布添加到第二个画布

来自分类Dev

如何从firebase从一个活动到第二个活动获取选定的图像

来自分类Dev

如何在另一个分区上运行Windows 7的第二个启动实例?

来自分类Dev

jQuery UI Datepicker不会在受限选择中呈现第二个月

来自分类Dev

ul li:最后一个孩子影响第二个ul中的最后一个li

来自分类Dev

python访问列表中的第二个到最后一个元素

来自分类Dev

从MySQL中的最后一个条目中选择第二个

来自分类Dev

切片python中的最后一个第二个单词

来自分类Dev

从第二个元素到最后一个元素迭代列表

来自分类Dev

查找第二个最近的值总是返回最后一个最近的值

来自分类Dev

在第二个LI中获取图像的高度

Related 相关文章

  1. 1

    创建第二个实例时,画布上的第一个实例图像消失

  2. 2

    文字不会在第二个导航栏上对齐

  3. 3

    如何创建一个计时器来显示第二个C#的图像

  4. 4

    立即调用的函数表达式不会在第二个需求上执行

  5. 5

    将图像从第一个活动传递到第二个活动

  6. 6

    第一个抖动图像显示,但第二个不显示

  7. 7

    在第二个循环中未显示第一个滑块图像

  8. 8

    为什么 while 不会在第二个循环处停止

  9. 9

    与GPUImage融合:如何控制第二个图像在第一个图像之上的位置

  10. 10

    JavaScript-在第一个图像周期结束时加载第二个图像帧

  11. 11

    UIPickerView旋转第一个时旋转第二个轮子

  12. 12

    如何使用JQuery根据第一个TD中存储的表的值隐藏第二个TD中存储的图像?

  13. 13

    比较两个图像并突出显示第二个图像上的差异

  14. 14

    隐藏第一个按钮点击显示第二个,隐藏第二个点击显示第一个按钮

  15. 15

    在母版页上的LinkButton不会在ASP.NET中的第二个子页上触发

  16. 16

    使用CSS悬停在第二个元素上时隐藏第一个元素

  17. 17

    第一个文件类型预览图像显示在第二个文件类型

  18. 18

    通过单击第一个按钮IOS7更改第二个按钮图像

  19. 19

    画布-将结果图像从第一个画布添加到第二个画布

  20. 20

    如何从firebase从一个活动到第二个活动获取选定的图像

  21. 21

    如何在另一个分区上运行Windows 7的第二个启动实例?

  22. 22

    jQuery UI Datepicker不会在受限选择中呈现第二个月

  23. 23

    ul li:最后一个孩子影响第二个ul中的最后一个li

  24. 24

    python访问列表中的第二个到最后一个元素

  25. 25

    从MySQL中的最后一个条目中选择第二个

  26. 26

    切片python中的最后一个第二个单词

  27. 27

    从第二个元素到最后一个元素迭代列表

  28. 28

    查找第二个最近的值总是返回最后一个最近的值

  29. 29

    在第二个LI中获取图像的高度

热门标签

归档