每个类元素的简单jquery .hover()方法

时间:2011-04-01 21:01:34

标签: jquery hover jquery-animate each

没有做太多的jquery并遇到了问题。我想用类.social-tile绑定所有div的悬停事件。我是这样做的:

$(function(){
    var social_default = $('.social-tile').css('margin-right');
    $('.social-tile').each(function(){
        $(this).hover(function(){
            $(this).animate({
                'margin-right': '0px' 
            },500);
        },function(){
            $(this).animate({
                'margin-right': social_default 
            },500);
        });
    });
});

当我将鼠标悬停在一个元素上时,会触发所有div的动画,并且它们一次全部移动。我想只为我悬停的特定元素制作动画。

这里可能很容易解决, 谢谢。

3 个答案:

答案 0 :(得分:3)

试试这个,对不起 - 这里的工作演示: http://jsfiddle.net/8vFAD/1/

$('.social-tile').live('mouseover', function(){
    $(this).animate({ 'margin-left': '15px'} ,500).animate({ 'margin-left': '30px'} ,500);
});

答案 1 :(得分:2)

$(function() {
    $('.social-tile').hover(
    function() {
        $(this).data('prev-margin-right', $(this).css('margin-right') );
        $(this).animate({
            'margin-right': '0px'
        }, 500);
    }, function() {
        $(this).animate({
            'margin-right': $(this).data('prev-margin-right')
        }, 500);
    });
});

答案 2 :(得分:0)

确定你的变量social_default,其中包含.socialtile,它将调用分配给它的所有div,将其更改为(this)。