javascript - 当我点击箭头/导航时,自定义 jQuery/JavaScript slider 出现错误

标签 javascript jquery slider slideshow

我正在努力创建我自己的响应式 JavaScript/jQuery slider 。在大多数情况下,它似乎工作得非常好,但是,当我单击箭头或导航圆圈时,超时/动画似乎出现错误。这并不一致。单击箭头/导航圆圈时,它应该重置超时并转到相应的幻灯片。

例如,如果您在到达最后一张幻灯片时单击导航圆圈,它会快速返回到第一张幻灯片,而不会出现 5000 次暂停。

这是所有代码的 fiddle :http://jsfiddle.net/23712cwb/2/

为什么时间这么错乱?我如何解决它?正如您所看到的,我将 clearTimeout($timeout); 添加到 nextSlide() 函数的顶部,但这并没有完全解决它,我不确定这一点才是解决问题的正确方法。然而,在我添加这行代码之前,它的错误更多。

此外,如果有人有任何提示可以给我或关于如何使其变得更好的建议,那就太棒了。我对 jQuery 插件不是很熟悉,所以我只是在这里即兴发挥。

最佳答案

我明白了。此代码导致了该问题:

    $('.slider .slides li .caption, .slider .slide-arrows li, .slider .slide-nav').mouseout(function () {
        $timeout = setTimeout(function () { nextSlide('right', $slides, $height, $caption_speed, $slide_speed, 'null'); }, $slide_speed);
    });

因此,每次我将鼠标从箭头、导航或标题上移开时,它都会加倍执行 nextSlide 函数。

我删除了该代码,现在一切都顺利了。

关于javascript - 当我点击箭头/导航时,自定义 jQuery/JavaScript slider 出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27507324/

相关文章:

javascript - 音频 onError 参数

javascript - 基于 Crockford 的函数继承在 Javascript 中使用 super 方法

javascript - 如何在自定义 toJSON 方法中使用 JSON.stringify?

jquery - JavaScript - 未捕获类型错误 : Cannot read property 'search' of undefined

javascript - 如何在单击按钮时附加多个下拉列表,每个下拉列表在名称属性中具有不同的索引?

javascript - 制作页面内容 slider 动画

javascript - typescript 为keyof不工作分配值

javascript - 在 Google map API 中创建条形图

javascript - jQuery 图像 slider 循环与 setInterval

javascript - jquery 简单图像幻灯片,可在现场播放多个幻灯片