我有一个 dp7 站点,我在其中使用视图幻灯片循环添加了一个滑动横幅。
我的一张幻灯片有一个 youtube 视频,我试图在视频播放时暂停幻灯片,并在视频停止时恢复滑动。
我已成功添加 YT 回调函数,并且正在检测播放/停止视频状态的变化。但是,当我在幻灯片上调用 cycle('pause') 和 cycle('resume') 时,它不起作用。另一方面,循环(“停止”)工作正常,但我无法再次重新启动幻灯片。
知道如何以正确的drupal方式实现这一目标吗?
谢谢
如果您像我一样通过搜索找到此页面,这里有一个用于暂停/播放的 drupal Views Slideshow 方法(适用于 Cycle,不确定是否适用于其他人):
暂停:
Drupal.viewsSlideshow.action({ "action": 'pause', "slideshowID": "YOURSLIDESHOWID", "force": true });
玩:
Drupal.viewsSlideshow.action({ "action": 'play', "slideshowID": "YOURSLIDESHOWID", "force": true });
您可以在页面源代码中看到您的 YOURSLIDESHOWID,views_slideshow_cycle_main_ 之后的所有内容都是您的 ID:
<div id="views_slideshow_cycle_main_slideshow-block" class="views_slideshow_cycle_main views_slideshow_main viewsSlideshowCycle-processed"
在我的情况下,幻灯片 id 是“幻灯片块”。
好的,我找到了这个问题的根源:
When the option 'pause' is set to 1 (pause on hover), when you pause the slideshow by calling cycle('pause'), then move the mouse over the slide, it reactivates the slideshow and resumes it. 因此,为了让循环(“暂停”)保持幻灯片暂停,您需要通过将“暂停”设置为 0 来禁用悬停暂停。
老实说,我觉得这不合逻辑,希望在 cycle2 中有所改变。如果我选择暂停幻灯片,无论我是否将鼠标悬停在幻灯片上,它都不应该改变我的幻灯片状态。除了循环(“恢复”)之外,没有什么可以取消循环(“暂停”)事件。
希望这可以帮助。
如果您想知道要使用哪个选择器,就像我有一段时间一样,它就是您正在使用的 div 之前的那个。
在 Drupal 8 中,使用机器名称slideshow
和显示block_1
,我的是:
#views_slideshow_cycle_teaser_section_fp_slideshow-block_1