2011-09-09 42 views
1

我想使用jquery在一个mouseover上来回摆动一个简单的图像。 图片ID是“img”。jquery在mouseenter和mouseleave时创建事件

$(document).ready(function() { 
     $("#img").bind('mouseenter', function() { 
      $('#img').rotate(43); 
     }); 
     $("img").bind('mouseleave', function() { 
      $('#img').rotate(-43);    
     }); 
    }); 

当我这样做第一次旋转的作品,但第二次没有。为什么是这样?我可以单独使用第二个,它也可以按预期工作。我不能让两个人一起工作。 Iam使用库进行旋转。如果我提醒轮转我仍然不能第二个工作。 有什么建议吗? TIA 约翰

+2

尝试[.hover功能(http://api.jquery.com/hover/),让你绑定功能进入和离开很容易 –

回答

2

我猜你使用this plugin,看着它做的方式来完成旋转,它将img转换为解开悬停事件的canvas元素,您需要重新绑定事件或以canvas元素开始的某种方式。

解决方案

使用不同的插件使它小菜一碟。 You can download it here.

$(document).ready(function(){ 
    $("#img").live('mouseenter', function() { 
     $('#img').rotate(43); 
    }); 
    $("img").live('mouseleave', function() { 
     $('#img').rotate(-43); 
    }); 
}); 

jsFiddle Demo

+0

我也想出了相同的解决方案。然而,一旦demo'd你会看到图像旋转和旋转。 – rlemon

+0

如果你真的看看我的jsFiddle演示,你会发现它并不是因为我使用**不同的插件**。不在任何速度的Chrome ... –

+0

好吧,这似乎工作在FF但不是在IE8/9。有任何想法吗? –

0

那么马上就蝙蝠。

$("img").bind('mouseleave', function() { 
     $('#img').rotate(-43);    
    }); 

应该

$("#img").bind('mouseleave', function() { 
      $('#img').rotate(-43);    
     }); 
+0

它仍然是一个形象虽然,并应该工作... –

3

如上面说这可以通过使用.hover()

$(document).ready(function() { 
    $("#img").hover(
    function() { 
     $(this).rotate(43); 
    }, 
    function() { 
     $(this).rotate(-43); 
    } 
); 
});