我正在使用Beta3版本(http://spaceforaname.com/galleryview)的名为GalleryView的jQuery插件。Beta4版本计划具有用于播放/暂停动画的内置控件。我的问题是:

如何从脚本外部模拟“播放”和“暂停”控件,而无需修改GalleryView代码。是否有任何插件?还是未作记录的动作?

在初始化期间,可以决定是否要启用或禁用自动播放功能。

如果没有可用的操作/插件,您如何解决?可以分享您应用的GalleryView修改吗?

关于, T。

有帮助吗?

解决方案

我通过添加以下内容来修改原始的GalleryView脚本来解决此问题:

  • 脚本中的paused变量,用于存储暂停/播放的状态(如果暂停,则为true;如果正在播放,则为false
  • 添加了以下回调定义:

    /*
    **  playPause()
    **      Resume slideshow if paused, pause if slideshow playing.
     */
    function playPause() {
        if(!paused) {
            // Pause slideshow in 500ms. This allows for brief swipes of the mouse over the gallery without unnecessarily pausing it
            $(document).oneTime(0,"animation_pause",function(){
                $(document).stopTime("transition");
                paused = true;
            });
            $('.gv-nav-play-pause').removeClass('gv-nav-pause').addClass('gv-nav-play');
        } else {
            $(document).stopTime("animation_pause");
            if(opts.transition_interval > 0) {
                $(document).everyTime(opts.transition_interval,"transition",function(){
                    showNextItem();
                });
                paused = false;
            }
            $('.gv-nav-play-pause').removeClass('gv-nav-play').addClass('gv-nav-pause');
        }
    };
    

  • 添加了一个用于播放/暂停的按钮,对其进行了样式设置,并在playPause和一些触摸事件上附加了click回调,以允许启用触摸的设备。

    它的工作原理很吸引人,没有毛刺,但是代码可能并不完美-我不得不使用原始的GalleryView代码,但这本身并不是完美的。

其他提示

到目前为止,我还没有找到任何方法来关闭自动播放功能(我也希望使用该选项)。据我了解,下一个版本将具有播放器控件。截至本文发布时,它仍然不稳定,但很有希望。这是GalleryView作者的版本3 Beta4演示页面的链接:

http://spaceforaname.com/galleryview-3.0/testpage.html

我使用的是当前版本,需要在一个滑块上关闭自动播放功能。我通过在两个周期之间设置10分钟的延迟来解决该问题。这给了其中一张幻灯片中的9分钟视频播放时间。较长的延迟(30分钟)将有效关闭自动播放。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top