3 Coretan kod jQuery untuk melambatkan panggilan Ajax selama x saat. Boleh digunakan untuk acara yang memerlukan tindakan sebelum mendapatkan data dari sisi pelayan melalui AJAX. UPDATE: Terdapat cara yang lebih mudah untuk melakukan ini dengan menggunakan fungsi setTimeout () - lihat di bawah untuk contoh. Nikmati! "
Berikut adalah coretan yang akan mengeluarkan topeng pemuatan dari halaman anda, satu saat selepas laman web dimuatkan. Anda boleh menyiapkan topeng pemuatan untuk menutup seluruh laman web anda semasa laman web anda memuatkan menghalang orang melihat imej pemuatan misalnya.
<span>var pendingCall = { timeStamp: null, procID: null }; </span> <span>$('li a').click(function (e) { </span> e<span>.preventDefault(); </span> <span>var getUrl = $(this).attr("href"); </span> <span>var timeStamp = Date.now(); </span> <span>var printCall = function () { </span> $<span>.ajax({ </span> <span>url: getUrl, </span> <span>type: "GET", </span> <span>beforeSend: function () { }, </span> <span>error: function (request) { alert(request) }, </span> <span>success: function (data) { </span> <span>if (pendingCall.timeStamp != timeStamp) { return false; } </span> <span>$('#contentdiv').html(data); </span> pendingCall<span>.procID = null; </span> <span>} </span> <span>}); </span> <span>}; </span> <span>if (pendingCall.procID) { </span> <span>clearTimeout(pendingCall.procID) </span> <span>}; </span> <span>//set the time before call 3000 = 3 seconds </span> pendingCall <span>= { timeStamp: timeStamp, procID: setTimeout(printCall, 3000) }; </span><span>});</span>
<span>jQuery(document).ready(function () { </span> <span>setTimeout( "jQuery('#loading_mask').hide();", 1000 ); </span><span>});</span>
var timeOutId = setTimeOut (function () {
, 2000); Sebelum ia mempunyai peluang untuk melaksanakan. Sekiranya kelewatan terlalu lama, ia boleh membuat laman web anda berasa perlahan dan tidak bertindak balas. Adalah penting untuk mencari keseimbangan antara mengurangkan beban pelayan dan mengekalkan pengalaman pengguna yang lancar.
Bolehkah saya melambatkan pelbagai panggilan Ajax sekaligus? Setiap panggilan setTimeout akan mengembalikan ID unik yang boleh digunakan untuk membatalkan masa tamat jika perlu. Anda boleh menggunakannya untuk melambatkan mana -mana kod JavaScript.
Atas ialah kandungan terperinci Melambatkan panggilan ajax selama x saat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!