我正在使用优秀的jQuery插件Flexslider在网页上创建一个轮播。除了一件事:我希望当用户单击页面上其他地方的给定链接时,滑块自动停止动画。
这可能吗?
单击页面上其他位置的特定链接时停止滑块。假设链接有一个"some-link"类,并且假设你的flexslider有一个"flexslider"的class,在这种情况下,您可以使用以下JS代码段:
$('.some-link').click(function() {
$('.flexslider').flexslider("pause");
});
您需要确保代码位于$(document).ready(function() { ... })
内,或者脚本位于页面上具有"some-link"类链接的 html 下方。否则,用于添加该点击事件的选择器将不匹配任何内容(因为它尚不存在)。
顺便说一句,@Guern的解决方案具有有关如何实际暂停弹性滑块的最重要信息,但您的问题是要求再走一步。尽管已经 2 岁了,但我现在正在回答这个问题,因为它出现在谷歌搜索中。
当然有可能。
在此示例中,当您单击幻灯片时,它将停止,只需将单击事件绑定到您喜欢的页面链接即可。
$('.flexslider .slides > li').click(function() {
$('.flexslider').flexslider("pause");
});
在包含该jQuery插件函数的列表中,有:
slider.pause() //Function: Pause slider slideshow interval
不确定,但我认为您可以使用此功能来停止效果,如下所示:
$(#elm).flexslider().pause();
您可以在其网页上的"高级"选项卡中看到包含弹性滑块插件属性的列表。