Tutorial ini menunjukkan membuat kotak halaman dinamik yang dimuatkan melalui AJAX, membolehkan Refresh Instant tanpa Reloads Halaman Penuh. Ia memanfaatkan JQuery dan JavaScript. Fikirkannya sebagai loader kotak kandungan gaya Facebook tersuai.
Konsep Utama:
id
setiap kotak untuk menghasilkan pembolehubah, yang kemudian dipadankan dengan skrip sisi pelayan. Kandungan mudah dimuat semula, dan kotak baru boleh ditambah tanpa CSS atau JavaScript tambahan. Kelebihan Pendekatan Ajax ini:
Bagaimana ia berfungsi:
Fungsi dinamik:
Setiap kotak adalah dengan atribut <div> yang unik. Unsur -unsur dalam ini <code>id
Gunakan <div> yang sama. JQuery menggunakan ini <code>id
untuk dipadankan dengan skrip sisi pelayan, menjadikan sistem dinamik kerana semua pembolehubah dijana berdasarkan kotak id
. id
kod jQuery:
Kod ini berjalan selepas beban halaman, memulakan kawalan kotak dan peristiwa yang melampirkan.
jQuery(document).ready(function($) { $('.box').mouseover(function(){ var dyn_var = "https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b" + this.id.replace("box","controls"); $(dyn_var).show(); }); $('.box .controls').hide(); $('.box').mouseout(function(){ $('.box .controls').hide(); }); loadboxcontent('box-id1'); loadboxcontent('box-id2'); // ...add more box IDs as needed... });
berdasarkan pada
Imej: <div> yang disediakan. Ia secara dinamik mewujudkan pembolehubah untuk mengendalikan objek. <code>box_id
digunakan untuk mengenal pasti kedua -dua bekas box_id
dan skrip PHP yang sepadan (mis., <div>
<code>box_id.php
function loadboxcontent(box_id){
if (box_id == '') { return false; }
var loading_image="/images/loader.gif";
var loading_text = ' Loading '+box_id.replace(/-/g," ")+'...';
var script_path = "../php/";
var box_container = document.getElementById(box_id);
box_container.innerHTML = loading_text;
var result = false;
$.ajax({
url: script_path+box_id+".php",
type: 'POST',
async: true,
data: {blogs: 30},
success: function(data) {
result = true;
document.getElementById(box_id).innerHTML = data;
}
});
if (result == false) { document.getElementById(box_id).innerHTML = 'Could not refresh data, try refreshing the page'; }
else { alert("Content refreshed successfully!"); }
}
<div id="box-id1" class="box">
<h2><a href="https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">New Blogs</a></h2>
<div id="controls-id1" class="controls">
<a href="https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b"><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174119443682979.png" class="lazy" alt="Load Box Content Dynamically using AJAX "></a>
</div>
</div>
jQuery(document).ready(function($) {
$('.box').mouseover(function(){
var dyn_var = "https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b" + this.id.replace("box","controls");
$(dyn_var).show();
});
$('.box .controls').hide();
$('.box').mouseout(function(){
$('.box .controls').hide();
});
loadboxcontent('box-id1');
loadboxcontent('box-id2');
// ...add more box IDs as needed...
});
loader.gif
refresh.png
Atas ialah kandungan terperinci Kandungan kotak beban secara dinamik menggunakan ajax. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!