Maison >interface Web >Questions et réponses frontales >jquery réalise une boîte pop-up infinie
Dans le développement web, les boîtes pop-up sont un moyen d'interaction très courant. Lors de la mise en œuvre de boîtes contextuelles, jQuery, en tant que l'une des bibliothèques JavaScript les plus populaires, est naturellement devenue le premier choix des développeurs.
Aujourd'hui, nous allons aborder un effet pop-up spécial : le pop-up infini. Cet effet peut offrir aux utilisateurs une expérience visuelle plus riche et également améliorer l’interactivité du site Web. Je pense que de nombreux utilisateurs ont rencontré cette situation lors de la navigation sur le site Web : après la fermeture d'une fenêtre contextuelle, une autre boîte contextuelle apparaît immédiatement. Le choc et les surprises inattendues apportés par cette expérience sont plus susceptibles d'attirer l'attention des utilisateurs et de stimuler leur intérêt.
En fait, il n'est pas difficile d'obtenir l'effet pop-up infini grâce à jQuery. Voyons comment utiliser jQuery pour obtenir rapidement cet effet.
Tout d'abord, nous avons besoin d'un cadre de base pour les pages Web. Ici, nous utilisons la manière la plus simple, qui est d'ajouter le contenu suivant au document HTML :
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>jQuery实现无限弹框</title> <style type="text/css"> body { margin: 0px; padding: 0px; } .box { position: absolute; top: 50%; left: 50%; margin-top: -150px; margin-left: -200px; width: 400px; height: 300px; background-color: #fff; border: 1px solid #ccc; box-shadow: 3px 3px 5px #ccc; display: none; text-align: center; padding-top: 60px; font-size: 24px; } </style> </head> <body> <div class="box">弹框1</div> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script> </body> </html>
Dans ce code, nous définissons une classe .box
, en utilisant Pour afficher le contenu de notre pop-up box. Cette classe est définie sur display: none
, ce qui signifie qu'elle n'est pas visible initialement. .box
类,用于显示我们的弹框内容。这个类被设定为display: none
,即一开始不可见。
接下来,我们通过jQuery实现无限弹框。具体来说,我们需要做以下几个步骤:
下面是代码实现:
$(document).ready(function() { $('.box:first').fadeIn(1000); // 显示第一个弹框 $('.box').click(function() { // 当每一个弹框被点击时 $(this).fadeOut(500, function() { // 隐藏当前弹框 if ($(this).next().length > 0) { // 如果当前弹框下一个元素存在 $(this).next().fadeIn(1000); // 显示下一个弹框 } else { // 否则 $('.box:first').fadeIn(1000); // 从头开始 } }); }); });
代码中,通过$(document).ready()
方法来确保DOM完全加载完成后执行代码。其后,我们首先通过.box:first
选中第一个弹框,并通过fadeIn()
方法将其显示。接着,我们定义了一个.click()
方法,用于当每一个弹框被点击时执行的操作。
具体来说,$(this).fadeOut(500, function() {})
将当前弹框隐藏,同时使用回调函数。if ($(this).next().length > 0)
用于判断当前弹框下一个元素是否存在。如果存在,则使用$(this).next().fadeIn(1000)
将下一个弹框显示出来;否则,使用$('.box:first').fadeIn(1000)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>jQuery实现无限弹框</title> <style type="text/css"> body { margin: 0px; padding: 0px; } .box { position: absolute; top: 50%; left: 50%; margin-top: -150px; margin-left: -200px; width: 400px; height: 300px; background-color: #fff; border: 1px solid #ccc; box-shadow: 3px 3px 5px #ccc; display: none; text-align: center; padding-top: 60px; font-size: 24px; } </style> </head> <body> <div class="box">弹框1</div> <div class="box">弹框2</div> <div class="box">弹框3</div> <div class="box">弹框4</div> <div class="box">弹框5</div> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $('.box:first').fadeIn(1000); // 显示第一个弹框 $('.box').click(function() { // 当每一个弹框被点击时 $(this).fadeOut(500, function() { // 隐藏当前弹框 if ($(this).next().length > 0) { // 如果当前弹框下一个元素存在 $(this).next().fadeIn(1000); // 显示下一个弹框 } else { // 否则 $('.box:first').fadeIn(1000); // 从头开始 } }); }); }); </script> </body> </html>Dans le code, la méthode
$(document).ready()
est utilisé pour garantir que le DOM est complet. Exécutez le code une fois le chargement terminé. Après cela, nous sélectionnons d'abord la première boîte contextuelle via .box:first
et l'affichons via la méthode fadeIn()
. Ensuite, nous avons défini une méthode .click()
pour l'opération effectuée lorsque l'on clique sur chaque fenêtre contextuelle. Plus précisément, $(this).fadeOut(500, function() {})
masque la boîte de dialogue actuelle et utilise la fonction de rappel. if ($(this).next().length > 0)
est utilisé pour déterminer si l'élément suivant de la boîte contextuelle actuelle existe. S'il existe, utilisez $(this).next().fadeIn(1000)
pour afficher la boîte contextuelle suivante ; sinon, utilisez $('.box:first'). fadeIn (1000)
Redémarrez la fenêtre pop-up. #🎜🎜##🎜🎜#Enfin, nous ajoutons le code ci-dessus au document HTML et référençons la bibliothèque jQuery. Le code complet est le suivant : #🎜🎜#rrreee#🎜🎜#Maintenant, lorsque nous ouvrons la page Web, nous pouvons voir l'effet pop-up de boucle infinie. #🎜🎜##🎜🎜#Grâce à la mise en œuvre de cet article, nous avons non seulement obtenu l'effet pop-up infini, mais avons également approfondi notre compréhension de la bibliothèque jQuery. Dans le même temps, nous pouvons également ajuster le code ci-dessus en fonction de situations spécifiques pour obtenir d'autres effets contextuels de manière plus flexible. #🎜🎜#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!