Aujourd'hui, je souhaite soudainement créer une page de recherche pour ce site, afin que les utilisateurs puissent trouver leur contenu préféré via la recherche et éviter d'avoir à trouver manuellement des ressources dans des informations massives. Mon objectif est similaire à l'effet de la page d'accueil de Baidu. Lorsque l'utilisateur saisit le texte qu'il souhaite rechercher, nous lui fournissons ci-dessous dix informations pertinentes. Si l'utilisateur recherche l'une de ces dix informations, il suffit de cliquer pour ouvrir la page dans une nouvelle page. La raison principale est de mettre à jour la page, de la rendre plus conviviale et de la rendre plus pratique à utiliser pour les utilisateurs.
Regardons d'abord les rendus. Cela vous donnera plus de motivation, sinon vous ne saurez pas de quoi je parle et quel effet je souhaite obtenir !
jquery php implémente l'invite automatique du champ de recherche
Ce qui suit explique principalement le principe :
Dans la page search.html, lorsque l'utilisateur saisit "j" dans le champ de recherche, utilisez javascript pour obtenir le contenu textuel du champ de recherche, recherchez le contenu pertinent dans la base de données et renvoyez-le, puis utilisez javascript pour afficher les résultats renvoyés par le serveur dans La zone d'invite située sous la zone de recherche permet aux utilisateurs de faire des choix de référence.
Méthode de mise en œuvre spécifique :
Tout d'abord, créez un champ de recherche, un bouton de recherche et une couche d'invite de recherche sur la page, comme indiqué ci-dessous
Utilisez le navigateur pour parcourir la page et vous verrez l'effet comme indiqué ci-dessous
jquery php implémente des invites automatiques lorsque les utilisateurs saisissent le contenu de la recherche
Cela a l'air très ordinaire et n'a pas de style. Faisons maintenant quelques ajustements au style
Ajustez le style du calque qui affiche l'invite de recherche. Étant donné que le calque d'invite de recherche se trouve directement sous le champ de recherche, nous définissons sa méthode de positionnement sur positionnement absolu
Méthode de positionnement*/
Utilisez ensuite JS pour placer la couche d'invite de recherche directement sous le champ de recherche, et la largeur est la même que celle du champ de recherche. Ici, nous utilisons jQuery pour le résoudre
La position et la largeur du calque d'invite de recherche ont été déterminées. Étant donné que la boîte d'invite ne sera pas affichée avant que l'utilisateur n'entre le texte de recherche, nous devons d'abord la définir sur masquée et ajouter l'affichage au style du calque d'invite. : personne ne le cache.
Tout va bien. Il ne nous reste plus qu'à enregistrer l'événement pour le onkeyup du champ de recherche. Nous utilisons toujours jQuery pour le gérer. Dans jQuery, c'est keyup
.Le client ci-dessus est terminé et peut envoyer l'entrée de l'utilisateur au serveur et répondre à la valeur de retour du serveur.
Alors, comment le serveur traite-t-il les données envoyées par le client ? Prenons PHP comme exemple
Maintenant, le serveur peut exécuter correctement les données que nous avons envoyées et renvoyer les résultats correspondants. Entrez maintenant un texte dans le champ de recherche pour le tester, mais le principe est qu'il doit y avoir quelque chose en rapport avec ce texte dans le contenu de votre base de données. sinon, vous ne verriez pas la boîte de dialogue apparaître car il n'y a pas de contenu d'invite pertinent, haha.
Mais il y a encore un léger défaut, c'est-à-dire que le contenu de la boîte d'invite n'est pas beau Par rapport à la boîte d'invite que nous avons vue dans la recherche Baidu, il est tout simplement trop moche, ne vous inquiétez pas, nous le ferons. utilisez CSS pour ajuster l'affichage. L'effet de
.Maintenant, c'est vraiment entièrement terminé. Quant à savoir s'il faut mettre en place un traitement différé ou d'autres fonctions plus complètes, c'est aux amis d'utiliser leur propre cerveau. Vous pouvez également répondre à vos réflexions ci-dessous, etc.
Code client complet :
C'est une fonction très pratique, et elle est très efficace pour améliorer l'expérience utilisateur et la convivialité. Les amis peuvent combiner cet article avec le jeu gratuit et l'ajouter à leurs propres projets.