我有一个名为Jssor的幻灯片程序,它也使用jQuery。我在幻灯片放映中有链接,调用Fancybox3来显示描述该幻灯片的文本框。当焦点在Fancybox上时,我需要暂停幻灯片放映。 Jssor有一个名为$ Pause和$ Play的方法,我可以通过使用按钮(手动点击)让它工作(在jQuery类之外)。主要问题是我需要它在没有用户交互的情况下工作。我的计划是将代码放入Fancybox.js中,以便自动暂停/播放幻灯片。我对JavaScript几乎一无所知,所以请保持简单。
我遗漏了(下面)一堆代码,想我会简单地说这个问题并不需要它。这段代码确实有效,我只需要知道如何在没有用户输入的情况下创建/调用最后一行(使用JS而不是HTML)。
<script type="text/javascript">
jQuery(document).ready(function ($) {
// A bunch of code
//...........................
var jssor_1_slider = new $JssorSlider$("jssor_1", jssor_1_options);
function Play() {
jssor_1_slider.$Play();
};
function Pause() {
jssor_1_slider.$Pause();
};
$("#playButton").click(Play);
$("#pauseButton").click(Pause);
};
</script>
// HTML
<input id="playButton" type="button" value="Play" />
<input id="pauseButton" type="button" value="Pause" />
答案 0 :(得分:0)
回调是为这样的目的而设计的。例如:
$('[data-fancybox="images"]').fancybox({
onInit : function() {
jssor_1_slider.$Pause();
},
afterClose : function() {
jssor_1_slider.$Play();
}
});
显然,此代码应该在您创建jssor_1_slider
变量之后继续。