好了,所以我有以下代碼:的JQuery load()和.prepend()
function() {
$("ul#postbit").load('load.php').fadeIn("slow");
}, 3000);
我所試圖實現的是裝載load.php後預先設置導致對<li>
並讓它褪色目前它會覆蓋ul#postbit
中的內容。我只希望它能夠加載新的結果並保留內部的內容。我希望這是有道理的。
好了,所以我有以下代碼:的JQuery load()和.prepend()
function() {
$("ul#postbit").load('load.php').fadeIn("slow");
}, 3000);
我所試圖實現的是裝載load.php後預先設置導致對<li>
並讓它褪色目前它會覆蓋ul#postbit
中的內容。我只希望它能夠加載新的結果並保留內部的內容。我希望這是有道理的。
方法被設計爲以這種方式工作,即將Ajax響應直接加載到您調用它的元素中。嘗試,而不是使用其他Ajax methods之一,例如:
$.get("load.php", function(data) {
$(data).prependTo("#postbit").fadeIn("slow");
});
這裏假設你的「load.php」返回的HTML包括li元素,這是你彷彿被描述時,你說你當前的代碼將覆蓋現有的列表每一次。如果你的「load.php」新裏只返回內容不<li>
標籤,那麼你可以創建Li和預置它:
$.get("load.php", function(data) {
$("<li/>").html(data).prependTo("#postbit").fadeIn("slow");
});
編輯:有它不斷刷新你可以在上面封裝成函數你有setInterval()
打電話,或做這樣的事情:
function getMoreData() {
$.get("load.php", function(data) {
$(data).prependTo("#postbit").fadeIn("slow");
}).complete(function() {
setTimeout(getMoreData, 3000);
});
}
getMoreData();
這使用setTimeout()
安排的getMoreData()
3秒後另一個運行,但它以前的請求完成打完。
您應該查看jQuery API。這裏是AJAX的API:http://api.jquery.com/category/ajax/
$.ajax({
url: 'load.php',
success: function(data) {
$("ul#postbit").prepend('<li>'+ data +'</li>');
}
});
這就是我一直在尋找的感謝。最後一件事,我怎樣才能讓它每隔3秒不斷加載文件? – Sygon 2012-07-11 13:31:59
使用setTimeout()是最好的方法嗎?或者是有更好的解決方案 – Sygon 2012-07-11 13:36:55
我會使用'setTimeout()'。有幾種方法可以做到這一點 - 我已經用一種方式更新了我的答案。 – nnnnnn 2012-07-11 13:41:55