【问题标题】:jquery prepend + fadeInjQuery前置+淡入
【发布时间】:2010-12-26 17:42:24
【问题描述】:

我有这个代码:

$.ajax({
        url : url,
        data : {ids : JSON.stringify(jsonids), hotel_id: hotel_id},
        success : function(response)
        {
            $('#be-images ul').prepend(response).fadeIn('slow');
        },
        dataType: 'html'
    });

但是淡入不起作用...我希望内容被预先添加和淡入...我该怎么做?

提前致谢!

【问题讨论】:

    标签: jquery ajax jquery-animate


    【解决方案1】:

    假设 response 是 HTML 然后试试这个:

    $(response).hide().prependTo("#be-images ul").fadeIn("slow");
    

    当你这样做时:

    $('#be-images ul').prepend(response).fadeIn('slow');
    

    您实际淡入的内容是初始选择器(前面的列表)的结果,它已经可见。

    【讨论】:

    • cletus 和 nick,你的方法太棒了..我偶然发现了同样的问题,你的两种方法都像微风一样工作......谢谢......
    • @cletus :我有同样的问题,但我的数据是 json 数组。我使用 .each 函数并尝试预先添加,但它没有显示任何预先添加的数据 - var li = '<li>'+item.img+'</li>';$('.twitter-list').prepend(li).hide().fadeIn("fast");
    【解决方案2】:

    +1 to cletus,但我只是想强调一下你可以做到的另一种方式。

    $('#be-images ul').prepend(
        $(response).hide().fadeIn('slow')
    );
    

    【讨论】:

    • 这很好用,因为它不会隐藏要添加的元素,只会隐藏要添加的元素
    • 非常感谢!
    【解决方案3】:

    试试这个: HTML

    <button>Add</button>
    <div id="data"></div>
    

    jquery:

    $('button').click(function() {
      $('#data').prepend('<div class="item">Test</div>'"');
        $("#data .item:first-child").hide();
       $("#data .item:first-child").fadeIn();
    });
    

    现场演示:jsfiddle

    【讨论】:

      猜你喜欢
      • 2011-08-12
      • 1970-01-01
      • 2015-09-07
      • 2012-12-22
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多