javascript - jQuery galleryview 在鼠标移开时开始自动播放

标签 javascript jquery galleryview

我目前正在使用 GalleryView 插件 ( http://spaceforaname.com/galleryview/ ) 开发一个网站。一切都很好,除了没有“鼠标移开时开始自动播放”选项(相当于悬停时停止),所以我正在尝试自己实现一个。当我查看 JavaScript 代码时,我可以看到有一个“showNext”方法,我想在用户将鼠标悬停在图库上一段时间后调用该方法。这是我正在使用的代码的简短版本(不起作用):

$j(function(){
 sliderr = $j('#productGallery').galleryView({
    transition_speed: 600,
    autoplay: false 
    });

});

$j('.gallery-wrapper').mouseout(function(){

    if (timer == null) {
       timer = setInterval( function(){
          if (counter > 5000) {
             sliderr.galleryView("showNext");
             counter = 0;
          } else
             counter += 1000;
       }, 1000);
    } 
});

有人知道这段代码有什么问题吗?

最佳答案

通过查看他们的演示,我怀疑有更好的方法来做到这一点。在演示中,他们有一个暂停/播放按钮,可以使用 startSlideshow()stopSlideShow() 函数。我怀疑您会想要使用该函数,因此您会想要使用 setTimeout() 调用而不是 setInterval()。像这样的事情:

$j('.gallery-wrapper').mouseout(function(){
    timer = setTimeout( function(){
          //note: I'm not sure this is a function of the galleryView object
          //      it might be off of another part of the overall structure
          //      like sliderr.startSlideshow() or something.
          sliderr.galleryView.startSlideshow(); 
    }, 5000); 
});

您可能需要相应的鼠标悬停来清除超时:

$j('.gallery-wrapper').mouseover(function(){
    clearTimeout(timer);
});

关于javascript - jQuery galleryview 在鼠标移开时开始自动播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16170904/

相关文章:

android - 滑动时获取图像在 GalleryView 上的位置?

java - 如何在 Android 中增加 ImageView 的大小

javascript - 计时器只能通过空赋值而不是通过clearTimeout()来销毁

javascript - 根据 Dialogflow Fulfillment 中的 API 调用结果填充意图

javascript - 查找 hh :mm:ss 的时间平均值

javascript - 套接字代码在Codeigniter Rest API内部不起作用

javascript - jQuery - 每 x 秒向下滚动一次,然后滚动到顶部

jquery - SignalR 在剑道中具有动态绑定(bind)网格

javascript - 如何检测加壳并美化这个js

Android GalleryView 回收