【问题标题】:jcarousel stop on mouseoverjcarousel 在鼠标悬停时停止
【发布时间】:2011-04-03 04:09:25
【问题描述】:

我是一名平面设计师,我正在尝试使用一些出色的 jquery 脚本编写我的新作品集。我想让 jcarousel (http://sorgalla.com/projects/jcarousel/) 在鼠标悬停时停止。

感谢任何帮助。谢谢!

【问题讨论】:

    标签: jquery mouseover jcarousel carousel


    【解决方案1】:

    您可以传递一个initCallback 函数,该函数在轮播初始化后立即调用。

    这个函数可以解决问题: http://groups.google.com/group/jquery-en/browse_thread/thread/f550b94914d10065

    【讨论】:

      【解决方案2】:
      var isMouseOver = false;
      $(this).mouseover(function(){
      isMouseOver = true;
      }).mouseout(function(){
      isMouseOver = false;
      });
      //add by koumei-->
      function go(to) {
      ...
      ...
      

      来自http://blog.koumei.net/2011/06/01/jcarousel-lite-mouse-hover-event-improvement/

      【讨论】:

        【解决方案3】:

        为了更彻底地回答 Geert 的回答(顺便说一句,效果很好),

        在您的设置中添加 initCallback 函数:

        initCallback: function(jc, state) { 
                        if (state == 'init') { 
                        /* Pause carousel scrolling when a user mouses overs an item and restart the scrolling when they mouse out. 
                        * Written by cormac at finisco dot com 19/2/2009 based on work by Jeremy Mikola: 
                        * http://groups.google.com/group/jquery-en/browse_thread/thread/f550b94914d10065 
                        */ 
                            jc.startAutoOrig = jc.startAuto; 
                            jc.startAuto = function() { 
                                if (!jc.paused) { 
                                    jc.startAutoOrig(); 
                                } 
                            } 
                            jc.pause = function() { 
                                jc.paused = true; 
                                jc.stopAuto(); 
                            }; 
                            jc.play = function() { 
                                jc.paused = false; 
                                jc.startAuto(); 
                            }; 
                            $('li.jcarousel-item').mouseover(function() { 
                                jc.pause(); 
                            }); 
                            $('li.jcarousel-item').mouseout(function() { 
                                jc.play(); 
                            }); 
                        };
                        jc.play(); 
                    }, 
        

        【讨论】:

          【解决方案4】:

          以下函数可能对停止动画有用

              itemLoadCallback: {
                  onBeforeAnimation: function(jc,state){
                    jc.lock();
               }
              } 
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-05-04
            • 1970-01-01
            • 1970-01-01
            • 2012-06-17
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多