首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >需要在悬停Jquery上反复来回旋转

需要在悬停Jquery上反复来回旋转
EN

Stack Overflow用户
提问于 2012-03-01 20:13:31
回答 3查看 1.9K关注 0票数 0

使用jQuery rotate http://code.google.com/p/jqueryrotate/wiki/Examples将对象设置为0度到40度的动画

工作良好,鼠标悬停,鼠标移出-但我需要它自动循环动画之间的两个点,只要它是悬停

需要在client...HELP的午餐前完成!

代码语言:javascript
运行
复制
    jQuery("#leafmealonepoint").rotate({ 
     bind: 
 { 
    mouseover : function() { 
        jQuery(this).rotate({animateTo:40})
    },
    mouseover : function() { 
        jQuery(this).rotate({animateTo:0})
    }
         } 

更新

好的,我试着像这样使用setInterval --缺少什么?

代码语言:javascript
运行
复制
    function move(){
       jQuery('#leafmealonepoint').rotate({animateTo:40}, function(){
       jQuery(this).rotate({animateTo:0});
       });
     }    

    jQuery('#leafmealone').hover(
        function() {
      hoverInterval = setInterval(move, 1000);
        },
      function(){
    clearInterval(hoverInterval);
    }
    );

进一步更新

代码语言:javascript
运行
复制
     jQuery(function(){
         var leafmealone
         jQuery('#leafmealone').mouseenter(function(){
             leafmealone = setInterval(function()
             {jQuery('#leafmealonepoint').rotate({animateTo:40},
     jQuery('#leafmealonepoint').rotate({animateTo:0}))}, 1000);
         }).mouseleave(function(){clearInterval(leafmealone);
         });
     });  

我遗漏了什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-01 20:26:24

如果您想在鼠标停留在该元素上时重复动画,则需要一个setInterval(),否则将执行一次动画并在完成时停止,然后鼠标离开将再次执行并再次停止。

编辑:你也有两个鼠标悬停事件,我认为它是输入错误的悬停你需要一个鼠标输出,或直接使用hover()

票数 1
EN

Stack Overflow用户

发布于 2012-03-01 21:35:18

尝试执行以下操作:

代码语言:javascript
运行
复制
jQuery(function(){
    var leafmealone
    jQuery('#leafmealone')
    .mouseenter(function(){
        leafmealone = setInterval(function() {
            jQuery('#leafmealonepoint')
            .rotate({animateTo:40})
            .rotate({animateTo:0});
        }, 1000);
    })
    .mouseleave(function(){
        clearInterval(leafmealone);
    });
});

我不熟悉rotate方法,但动画通常就是这样完成/链接的。

票数 1
EN

Stack Overflow用户

发布于 2012-03-05 19:17:32

以下是解决方案

代码语言:javascript
运行
复制
 function leafmealone() {
        jQuery('#leafmealonepoint').stop().rotate({ angle:0, animateTo: 40, duration:600, callback: function() {
            jQuery('#leafmealonepoint').stop().rotate({ animateTo: 0, duration:600});
            }
        });
}

    jQuery(function() {
    jQuery('#leafmealone').hover(function(){
leafmealone();
hoverInterval = setInterval(leafmealone, 1200);
    }, function(){
      clearInterval(hoverInterval);
    });
   })

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9516015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档