2009-12-15 36 views
48

tôi có mã này:jquery thêm vào trước + fadeIn

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

nhưng phai Trong không hoạt động ... Tôi muốn các nội dung được thêm vào phía trước và nhạt dần trong ... làm thế nào tôi sẽ làm điều này?

Cảm ơn trước!

Trả lời

105

Giả sử response được HTML sau đó thử này:

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

Khi bạn làm điều đó theo cách này:

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

điều bạn đang thực sự phai màu trong là kết quả của bộ chọn ban đầu (các ở phía trước), đã được hiển thị.

+0

làm việc một cách hoàn hảo! cảm ơn! – yretuta

+0

cả hai cletus và nick, cách của bạn là tuyệt vời .. tôi stumbled khi cùng một vấn đề và cả hai cách của bạn làm việc như một khoe ... cảm ơn ... – coder101

+0

hoạt động như một sự quyến rũ ... –

37

+1 vào cletus, nhưng tôi chỉ muốn làm nổi bật cách khác bạn có thể làm.

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

+1 thú vị. Tôi chưa bao giờ thấy nó được thực hiện theo cách đó. – cletus

+0

hoạt động tốt vì nó không ẩn phần tử để thêm vào, chỉ phần tử được thêm vào trước –

1

Hãy thử điều này: 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(); 
}); 

Live Demo: jsfiddle

Các vấn đề liên quan