函数将信息返回到控制台日志,但实际上并没有做它应该做的事情

Function returning info to console log, but doesn't actually do what it's supposed to

我有一个关于我正在使用的名为 Slippry 的图像滑块脚本的问题。我目前已将它集成到我正在处理的网站中,并且我 运行 遇到了一个问题。单击滑块中的其中一张图像时,我使用以下代码停止滑块:

Javascript代码:

// Stop the slider and log click
$('.stop').click(function () {
    slider.stopAuto();
    console.log('stopped');
});

HTML代码:

<a class=“stop” href=“#123”>
    <img src=“/img/slide.jpg”/>
</a>

如果我让滑块播放到幻灯片并单击幻灯片,它会将 stopped 添加到 JS 控制台,但不会停止滑块。如果我单击分页,然后单击幻灯片,它会将 stopped 添加到 JS 控制台并停止滑块。

为什么.stop附带的功能只有在我先点击分页时才起作用?有什么想法吗?

感谢@J.Cheong 我找到了解决这个问题的方法。

slider.stopAuto 函数和转换幻灯片的函数存在计时问题。看起来这两个函数被同时调用或足够接近以致于它们相互冲突。我添加了以下内容:

setTimeout(function(){
    slider.stopAuto();
    console.log('50ms - Paused');
}, 50);

我每隔 50ms 就重复调用脚本一整秒,因此导致 slider.stopAuto 调用了 21 次。这似乎解决了我遇到的问题。希望这为使用 Slippry 脚本的其他人提供了解决方案,这些脚本将来可能会遇到此问题。

注意: 我刚刚收到一位开发人员的电子邮件,并且已报告此 'bug'。