animate()jquery在我的情况下失败了

时间:2014-08-29 08:26:47

标签: javascript jquery css jquery-animate

$(document).ready(function(){
    $('.more').click(function() {
        var thumbsBlock = $(this).siblings('.thubmnailsWrap');

        $($(this), thumbsBlock).animate({
            'left' : "-=60px" //moves left
        });
    });
});

我使用兄弟姐妹并期望.thubmnailsWrap随着。更多但是失败了。在这里查看我的演示http://jsfiddle.net/pdjkh69m/4/

我解决了它,这里是代码http://jsfiddle.net/pdjkh69m/8/但我想知道为什么在我之前的代码中,多选择器jst不起作用,任何想法?我有点想继续使用重复的代码。

3 个答案:

答案 0 :(得分:1)

你的css不正确,你需要使用类选择器 . 为div获取position:absolute动画才能工作。

还可以使用.add()向jQuery对象添加另一个元素

thumbsBlock.add(this).animate({
    'left': "-=60px"
},1000);

DEMO

答案 1 :(得分:0)

 $(document).ready(function () {


    $('.more').click(function () {


        var thumbsBlock = $(this).siblings('.thubmnailsWrap');

        $(thumbsBlock).animate({
            'left': "-=60px"
        });

    });
});

这是您正在寻找的代码

答案 2 :(得分:0)

$($(this), thumbsBlock)

这是错误的方法

这是有效的

http://jsfiddle.net/pdjkh69m/10/