【问题标题】:Drupal views slideshow cycle: pause/resume not workingDrupal 视图幻灯片循环:暂停/恢复不起作用
【发布时间】:2013-11-02 20:33:47
【问题描述】:
我有一个 dp7 网站,我在其中使用视图幻灯片循环添加了一个滑动横幅。
我的一张幻灯片有一个 youtube 视频,我正在尝试在视频播放时暂停幻灯片,并在视频停止时恢复滑动。
我已成功添加 YT 回调函数,并且正在检测播放/停止视频状态的变化。但是,当我在幻灯片上调用 cycle('pause') 和 cycle('resume') 时,它不起作用。另一方面,循环('停止')工作正常,但我无法再次重新启动幻灯片。
知道如何以正确的 drupal 方式实现这一目标吗?
谢谢
【问题讨论】:
标签:
drupal-7
views
slideshow
cycle
【解决方案1】:
如果您像我一样通过搜索找到此页面,这里有一个用于暂停/播放的 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 是“slideshow-block”。
【解决方案2】:
好的,我找到了这个问题的根源:
当“暂停”设置为1(暂停悬停时),当您通过调用周期暂停幻灯片('暂停')时,然后将鼠标移动到幻灯片上,它重新激活幻灯片并恢复。
因此,为了让 cycle('pause') 保持幻灯片暂停,您需要通过将 'pause' 设置为 0 来禁用悬停暂停。
老实说,我觉得这不合逻辑,希望在 cycle2 中有所改变。如果我选择暂停幻灯片,无论我是否将鼠标悬停在幻灯片上,它都不应该改变我的幻灯片状态。除了循环('resume')之外,什么都不应该取消循环('暂停')事件。
希望这会有所帮助。
【解决方案3】:
如果您想知道要使用哪个选择器,就像我有一段时间一样,它是您正在使用的 div 之前的那个。
在 Drupal 8 中,机器名称为 slideshow,显示为 block_1,我的是:
#views_slideshow_cycle_teaser_section_fp_slideshow-block_1