如何在目标之前插入AJAX输出然后隐藏它?

时间:2014-06-03 20:47:09

标签: javascript php jquery html ajax

我试图找出如何隐藏在目标元素之前插入的输出。我这样做是为了让我可以在以后制作动画。

这是我到目前为止所做的 - 但是当它在目标之前插入时它无法隐藏输出!

        $.ajax({
        type: "POST",
        url: ajaxURLvalue,
        data: dataString,
        cache: false,
        success: function(html){

        if(SetIn=='before') {
            $('.'+followFrom+followFrom2).hide().before(html);
        } else if(SetIn=='prepend') {
            $('.'+followFrom+followFrom2).hide().prepend(html);
        } else if(SetIn=='append') {
            $('.'+followFrom+followFrom2).hide().append(html);
        } else if(SetIn=='after') {
            $('.'+followFrom+followFrom2).hide().after(html);
        } else if(SetIn=='prependto') {
            $('.'+followFrom+followFrom2).hide().prependTo(html);   
        }


        }
    });

1 个答案:

答案 0 :(得分:1)

现在,您正在隐藏目标元素,然后在其前面插入一些内容。据推测,您希望做的是在目标之前插入一些内容,然后隐藏插入的内容

这样做的直接方法是从您要插入的内容开始:

$(html)

...然后在目标之前插入:

$(html).insertBefore('.'+followFrom+followFrom2)

...然后隐藏它:

$(html).insertBefore('.'+followFrom+followFrom2).hide();

为了保持一致,您可能希望对所有内容使用相同的格式:

    if(SetIn=='before') {
        $(html).insertBefore('.'+followFrom+followFrom2).hide();
    } else if(SetIn=='prepend') {
        $(html).prependTo('.'+followFrom+followFrom2).hide();
    } else if(SetIn=='append') {
        $(html).appendTo('.'+followFrom+followFrom2).hide();
    } else if(SetIn=='after') {
        $(html).insertAfter('.'+followFrom+followFrom2).hide();
    } else if(SetIn=='prependto') {
        // this one doesn't make any sense - prepending the target 
        // to the new elements will remove it from the document entirely!
    }