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

时间:2016-04-22 02:40:03

标签: javascript jquery function slideshow

我对使用名为 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的功能仅在我首先点击分页时才有效?有什么想法吗?

1 个答案:

答案 0 :(得分:1)

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

slider.stopAuto函数存在时序问题,以及转换幻灯片的函数。似乎两个函数同时被调用或者足够接近它们彼此冲突。我添加了以下内容:

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

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

注意:我刚刚收到其中一位开发人员发来的电子邮件,并且已经报告了这个“错误”。