Ce didacticiel montre la création de boîtes de page dynamiques chargées via AJAX, permettant un actualisation instantanée sans rechargement de page complète. Il exploite JQuery et JavaScript. Considérez-le comme un chargeur de boîtes de contenu de style Facebook personnalisé.
Concepts clés:
id
de chaque boîte pour générer des variables, qui sont ensuite appariées avec le script côté serveur. Le contenu est facilement rechargé et de nouvelles boîtes peuvent être ajoutées sans CSS ou JavaScript supplémentaires. Avantages de cette approche ajax:
comment cela fonctionne:
Fonctionnalité dynamique:
Chaque boîte est un <div> avec un attribut unique <code>id
. Les éléments de ce <div> utilisent le même <code>id
. jQuery utilise ce id
pour correspondre au script côté serveur, ce qui rend la dynamique du système car toutes les variables sont générées en fonction de la boîte id
.
Code jQuery:
Ce code s'exécute après le chargement de la page, l'initialisation des contrôles de la boîte et la connexion des événements.
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... });
Cette fonction charge le contenu dans un enfant <div> en fonction de la fournie <code>box_id
. Il crée dynamiquement des variables pour gérer les objets. Le box_id
est utilisé pour identifier à la fois le conteneur <div> et le script PHP correspondant (par exemple, <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!"); } }
CODE HTML (Exemple):
<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>
Code CSS:
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... });
Images:
loader.gif
refresh.png
(La section FAQ de l'entrée d'origine a été omise car il s'agissait d'une section distincte et non apparentée sur l'utilisation générale de l'Ajax.)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!