如何在另一个类中暂停Jssor

时间:2017-12-09 08:20:13

标签: javascript jquery class fancybox jssor

我有一个名为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" />

1 个答案:

答案 0 :(得分:0)

回调是为这样的目的而设计的。例如:

$('[data-fancybox="images"]').fancybox({
  onInit : function() {
    jssor_1_slider.$Pause();
  },
  afterClose : function() {
    jssor_1_slider.$Play();
  }
});

显然,此代码应该在您创建jssor_1_slider变量之后继续。