Maison >interface Web >js tutoriel >Simulez une liste déroulante de recherche floue similaire aux compétences Baidu Google_javascript

Simulez une liste déroulante de recherche floue similaire aux compétences Baidu Google_javascript

WBOY
WBOYoriginal
2016-05-16 16:52:271599parcourir
Copier le code Le code est le suivant :

// Document JavaScript
fonction onChangehoverLi(thisLi) {
$("#searchtext").val($(thisLi).html());
$("#suggest_ul").hide(0);
validateform2(); }

$(function(){
//Masquer le menu déroulant lors du chargement de
$("#suggest_ul").hide(0);
}); >
/ /Ajax obtient dynamiquement des mots-clés

//Écoutez les modifications d'entrée dans la zone de texte

fonction fuzzySearch(){

//Créer une fonction d'objet ajax
function createLink(){
if(window.ActiveXObject){
var newRequest = new ActiveXObject("Microsoft.XMLHTTP");
}else{
var newRequest = new XMLHttpRequest(); >}
return newRequest;
}

//Si la zone de texte est vide, n'envoyez pas la requête
if($("#searchtext").val().length ==0||$(" #searchtext").val().length>10){
$("#suggest_ul").hide(0>return;
}
//Envoyer la requête
http_request = createLink();//Créer un objet ajax
if(http_request){
var sid = $("#searchtext").val(); = "contentSearchAction!getSynonyms.action" ;
var data = "keywords=" encodeURI(sid);
//alert(data)
http_request.open("post",url,true); 🎜>http_request.setRequestHeader("content -type","application/x-www-form-urlencoded");

//Spécifiez une fonction pour traiter les résultats renvoyés par le serveur
http_request.onreadystatechange = dealresult; //Aucune parenthèse n'est requise pour cette fonction
//Envoyer la demande
http_request.send(data
}

//Traiter le résultat renvoyé
function dealresult); (){
if(http_request.readyState== 4){
//Égal à 200 signifie le succès
if(http_request.status==200){
if(http_request.responseText==" non"){
$("#suggest_ul") .hide(0);
return;

}
$("#suggest_ul").show(0);
var res = eval("(" http_request.responseText ") ");
var contents="";
for(var i=0;ivar mots-clés = res[i].keywords;
contents=contents "
  • " mots-clés "
  • ";

    }
    $("# suggest_ul").html(contents);


    }
    }
    }

    }
    //Souris
    $(function(){

    //Afficher l'invite déroulante 300 millisecondes après avoir appuyé sur la touche
    $("#searchtext").keyup(function(){
    setInterval(changehover,300);
    function changehover() {
    $("#suggest_ul li").hover(function(){ $(this).css("background","#eee ");},function(){ $(this).css(" background","#fff");});
    }
    });

    });


    Page :



    Copier le code

    Le code est le suivant : ;html xmlns="http://www.w3.org/1999/xhtml"> ; searchSuggest</title> ; </div><link href="css/searchSuggest.css" type="text/css" rel="stylesheet" > <div class="codebody" id="code74018"><script type="text/javascript" src="js/jquery- 1.7.1.js"></script> <br><script type="text/javascript" src="js /searchSuggest.js"></script> <br><style> <br>#suggest_ul{ <br>width:100%; <br>max-height:223px; <br>margin:0px; <br>padding:0px; <br>border:1px solid #ccc; <br>background -color:#ffffff; <br>list-style-type:none <br>} <br><br><br> #suggest_ul li{ <br>padding-left:5px; <br>line-height: 22px; <br>font-size:13px <br>width:100%; <br>hauteur:22px; :par défaut; <br>} <br></style> <br>< /head> <br>< ;form action="deal.php" method="get" id="suggest_form"> <BR><input type="text" id="searchtext" name="searchtext" autocomplete="off" value=" search..." oninput="fuzzySearch();" onblur="if(this.value==''){this.value='search...'}" onfocus="if(this.value==' search...'){this.value=''}"/> <br><input type="submit" value="Search" id="suggest_submit" /> <br></form> <br><ul id="suggest_ul"> <br></ ul> <br></div> ><br><br>Au cours du processus d'utilisation, j'ai trouvé une situation dans laquelle je ne cherchais pas. La méthode de saisie fournie avec le système iOS lors de la saisie du chinois n'est ni un événement onkeyup ni onchange, car l'utilisateur a d'abord appuyé sur le bouton du clavier virtuel. <br><br>Vous pouvez utiliser l'événement onkeyup. Lorsque le chinois apparaît, cliquez sur Chinois pour modifier la valeur dans la zone de saisie en chinois. Onchange ne peut pas capturer la valeur de la zone de saisie modifiée par le script. <br><br>La solution finale consiste à utiliser l'événement oninput. Cet événement est très simple à utiliser dans le dernier HTML5, mais il est gênant que certains navigateurs de versions inférieures ne soient pas compatibles.</div> </div></div><div class="nphpQianMsg"><div class="clear"></div></div><div class="nphpQianSheng"><span>Déclaration:</span><div>Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn</div></div></div><div class="nphpSytBox"><span>Article précédent:<a class="dBlack" title="jquery utilise le plug-in jxl pour exporter Excel example_jquery" href="https://m.php.cn/fr/faq/13364.html">jquery utilise le plug-in jxl pour exporter Excel example_jquery</a></span><span>Article suivant:<a class="dBlack" title="jquery utilise le plug-in jxl pour exporter Excel example_jquery" href="https://m.php.cn/fr/faq/13366.html">jquery utilise le plug-in jxl pour exporter Excel example_jquery</a></span></div><div class="nphpSytBox2"><div class="nphpZbktTitle"><h2>Articles Liés</h2><em><a href="https://m.php.cn/fr/article.html" class="bBlack"><i>Voir plus</i><b></b></a></em><div class="clear"></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="fluid" data-ad-layout-key="-6t+ed+2i-1n-4w" data-ad-client="ca-pub-5902227090019525" data-ad-slot="8966999616"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><ul class="nphpXgwzList"><li><b></b><a href="https://m.php.cn/fr/faq/1609.html" title="Une analyse approfondie du composant de groupe de liste Bootstrap" class="aBlack">Une analyse approfondie du composant de groupe de liste Bootstrap</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/fr/faq/1640.html" title="Explication détaillée du currying de la fonction JavaScript" class="aBlack">Explication détaillée du currying de la fonction JavaScript</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/fr/faq/1949.html" title="Exemple complet de génération de mot de passe JS et de détection de force (avec téléchargement du code source de démonstration)" class="aBlack">Exemple complet de génération de mot de passe JS et de détection de force (avec téléchargement du code source de démonstration)</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/fr/faq/2248.html" title="Angularjs intègre l'interface utilisateur WeChat (weui)" class="aBlack">Angularjs intègre l'interface utilisateur WeChat (weui)</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/fr/faq/2351.html" title="Comment basculer rapidement entre le chinois traditionnel et le chinois simplifié avec JavaScript et l'astuce permettant aux sites Web de prendre en charge le basculement entre les compétences en chinois simplifié et traditionnel_javascript" class="aBlack">Comment basculer rapidement entre le chinois traditionnel et le chinois simplifié avec JavaScript et l'astuce permettant aux sites Web de prendre en charge le basculement entre les compétences en chinois simplifié et traditionnel_javascript</a><div class="clear"></div></li></ul></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5902227090019525" data-ad-slot="5027754603"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><footer><div class="footer"><div class="footertop"><img src="/static/imghwm/logo.png" alt=""><p>Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!</p></div><div class="footermid"><a href="https://m.php.cn/fr/about/us.html">À propos de nous</a><a href="https://m.php.cn/fr/about/disclaimer.html">Clause de non-responsabilité</a><a href="https://m.php.cn/fr/update/article_0_1.html">Sitemap</a></div><div class="footerbottom"><p> © php.cn All rights reserved </p></div></div></footer><script>isLogin = 0;</script><script type="text/javascript" src="/static/layui/layui.js"></script><script type="text/javascript" src="/static/js/global.js?4.9.47"></script></div><script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script><link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css' type='text/css' media='all'/><script type='text/javascript' src='/static/js/viewer.min.js?1'></script><script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script><script>jQuery.fn.wait = function (func, times, interval) { var _times = times || -1, //100次 _interval = interval || 20, //20毫秒每次 _self = this, _selector = this.selector, //选择器 _iIntervalID; //定时器id if( this.length ){ //如果已经获取到了,就直接执行函数 func && func.call(this); } else { _iIntervalID = setInterval(function() { if(!_times) { //是0就退出 clearInterval(_iIntervalID); } _times <= 0 || _times--; //如果是正数就 -- _self = $(_selector); //再次选择 if( _self.length ) { //判断是否取到 func && func.call(_self); clearInterval(_iIntervalID); } }, _interval); } return this; } $("table.syntaxhighlighter").wait(function() { $('table.syntaxhighlighter').append("<p class='cnblogs_code_footer'><span class='cnblogs_code_footer_icon'></span></p>"); }); $(document).on("click", ".cnblogs_code_footer",function(){ $(this).parents('table.syntaxhighlighter').css('display','inline-table');$(this).hide(); }); $('.nphpQianCont').viewer({navbar:true,title:false,toolbar:false,movable:false,viewed:function(){$('img').click(function(){$('.viewer-close').trigger('click');});}}); </script></body><!-- Matomo --><script> var _paq = window._paq = window._paq || []; /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u="https://tongji.php.cn/"; _paq.push(['setTrackerUrl', u+'matomo.php']); _paq.push(['setSiteId', '9']); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); })(); </script><!-- End Matomo Code --></html>