jQuery:在传递参数的子元素上运行函数

时间:2011-08-04 12:14:47

标签: jquery

我有以下功能:

function finishAnimation(section, obj, flow)
{
    var position = "";

    if (flow)
    {
        position = "-1000px"
    }

    obj.animate({
        left: '-1000px'
    }, 600, function () {
        jQuery(".correct-list").animate({
            top: '-375px'
        }, 300, function () {
            //over
        });
    });
}

它的作用是使用.correct-list类为元素设置动画,并且该函数运行如下:

finishAnimation($("#whichqualifications"), $("#whichqualifications .blocks"), true);

我坚持的位是通过该部分,以便动画的.correct-list是该部分中的那个。那么我如何将该部分作为代码的前缀?

由于

2 个答案:

答案 0 :(得分:2)

也许(如果我错了请纠正我)

function finishAnimation(section, obj, flow)
{
    var position = "";

    if (flow)
    {
        position = "-1000px"
    }

    obj.animate({
        left: '-1000px'
    }, 600, function () {
        section.find(".correct-list").animate({
            top: '-375px'
        }, 300, function () {
            //over
        });
    });
}

find()方法在调用它的jQuery对象中包含的所有元素的后代中进行搜索。如here所述,它可与$(selector, context)互换。

答案 1 :(得分:0)

提供元素作为jQuery调用的上下文。如果它在对象内,则使用obj而不是section

function finishAnimation(section, obj, flow)
{
    var position = "";

    if (flow)
    {
        position = "-1000px"
    }

    obj.animate({
        left: '-1000px'
    }, 600, function () {
        jQuery(".correct-list",section).animate({ // <-- note change
            top: '-375px'
        }, 300, function () {
            //over
        });
    });
}