Maison > Article > interface Web > HTML, CSS et jQuery : créer une fonction d'actualisation déroulante
HTML, CSS et jQuery : créez une fonction d'actualisation déroulante
Dans les applications Web modernes, l'actualisation déroulante est devenue l'une des fonctionnalités que de nombreux utilisateurs attendent avec impatience. Grâce à l'actualisation déroulante, les utilisateurs peuvent mettre à jour facilement et rapidement le contenu de la page actuelle, offrant ainsi une meilleure expérience utilisateur. Cet article explique comment utiliser HTML, CSS et jQuery pour créer une fonction d'actualisation déroulante simple et puissante.
Tout d'abord, nous devons créer une structure HTML de base pour afficher le contenu de la page et l'effet d'actualisation déroulant. Voici le code HTML pour un exemple :
<!DOCTYPE html> <html> <head> <title>下拉刷新示例</title> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <div id="container"> <header> <h1>下拉刷新示例</h1> </header> <div id="content"> <!-- 此处是页面内容 --> </div> </div> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="script.js"></script> </body> </html>
Ensuite, nous devons ajouter quelques styles CSS pour l'effet de rafraîchissement du menu déroulant. Nous pouvons utiliser CSS pour spécifier l'effet d'animation lors de l'actualisation déroulante et le style de la zone de contenu de la page. Voici un exemple de code CSS :
body { margin: 0; padding: 0; } #container { width: 100%; height: 100vh; } header { background: #f1f1f1; padding: 20px; } #content { padding: 20px; } @keyframes spinner { to { transform: rotate(360deg); } } #spinner { margin: 10px auto; display: block; width: 50px; height: 50px; border: 5px solid #f3f3f3; border-top-color: #3498db; border-radius: 50%; animation: spinner 1s linear infinite; }
Implémentons maintenant la fonction d'actualisation déroulante. Nous devons utiliser la bibliothèque jQuery pour surveiller l'action déroulante de l'utilisateur et déclencher l'événement d'actualisation déroulante. Voici un exemple de code JavaScript :
$(document).ready(function() { var content = $("#content"); var spinner = $("#spinner"); var isDragging = false; var startOffset, endOffset; var threshold = 100; // 触发下拉刷新的阈值 content.on("touchstart mousedown", function(event) { isDragging = true; startOffset = getOffset(event); }); content.on("touchmove mousemove", function(event) { if (!isDragging) return; endOffset = getOffset(event); // 检查是否达到了触发阈值 if (endOffset - startOffset > threshold) { spinner.show(); // 执行下拉刷新操作 refreshContent(); } }); content.on("touchend mouseup", function(event) { isDragging = false; spinner.hide(); }); function getOffset(event) { return event.originalEvent.touches ? event.originalEvent.touches[0].pageY : event.pageY; } function refreshContent() { // 在这里执行具体的下拉刷新操作,例如从服务器获取最新数据 // 注意:由于每个应用的具体实现方式不同,这里的代码可能需要根据实际情况进行调整 setTimeout(function() { spinner.hide(); // 刷新页面内容 content.html("刷新后的内容"); }, 1500); } });
Le code JavaScript ci-dessus utilise la méthode de traitement des événements de jQuery pour obtenir l'effet d'actualisation déroulant en surveillant les événements touchstart, touchmove, touchend, mousedown, mousemove et mouseup de l'utilisateur.
Lorsque l'utilisateur commence à faire glisser la page, nous enregistrons le startOffset, qui indique la position où l'utilisateur commence à dérouler vers le bas. Ensuite, lorsque l'utilisateur déplace la page, nous déterminons s'il a atteint le seuil spécifié en fonction du décalage du déplacement. Si le seuil est atteint, nous montrons une animation de chargement et exécutons la fonction rafraîchirContent().
Dans la fonction rafraîchirContent(), vous pouvez ajouter des opérations d'actualisation déroulantes spécifiques. Par exemple, obtenez les dernières données du serveur. Une fois l'opération d'actualisation terminée, vous pouvez mettre à jour le contenu de la page et masquer l'animation de chargement.
Avec HTML, CSS et jQuery, nous pouvons facilement créer une fonction d'actualisation déroulante. Vous pouvez l'étendre et le personnaliser en fonction de vos besoins pour créer un effet "pull-to-refresh" mieux adapté aux besoins de votre application. J'espère que cet article pourra vous aider !
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!