使用Quicksand时有多个回调

时间:2012-06-14 02:39:42

标签: jquery callback quicksand

我正在使用Quicksand作为可排序的投资组合页面,并且需要使用nth-child删除每个第三个元素的左边填充,我还必须添加鼠标悬停和鼠标移除效果。 这就是我目前所拥有的:

$holder.quicksand($filteredData, {
    duration: 200,
    easing: 'easeInOutQuad'
}, function () {
    $("#center_content .portfolio .tiles_holder .four img").mouseover(function () {
        $(this).fadeTo("fast", 0.3, function () {
            $('ul.tiles_holder li:nth-child(3n+1)').css("marginLeft", "0");
        });
    }).mouseout(function () {
        $(this).fadeTo("fast", 1, function () {
            $('ul.tiles_holder li:nth-child(3n+1)').css("marginLeft", "0");
        });
    });
});

但是发生的事情是在鼠标悬停/输出事件发生之前不会移除边距。我该如何改进代码?

1 个答案:

答案 0 :(得分:0)

由于你没有发布任何html,很难确切地说,但似乎你需要将流沙回调更改为:

$holder.quicksand($filteredData, {
    duration: 200,
    easing: 'easeInOutQuad'
}, function () {

   $('ul.tiles_holder li:nth-child(3n+1)').css("marginLeft", "0");

    $("#center_content .portfolio .tiles_holder .four img").mouseover(function () {
        $(this).fadeTo("fast", 0.3);
    }).mouseout(function () {
        $(this).fadeTo("fast", 1);
    });
});