이 기사의 예에서는 js 텍스트 상자의 입력 내용에 대한 스마트 프롬프트 효과 코드를 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 내용은 다음과 같습니다.
실행 중인 효과의 스크린샷은 다음과 같습니다.
일반 아이디어:
1. 텍스트 상자 이벤트를 듣습니다. 다음은 사용된 키업 이벤트입니다. onchange 이벤트를 사용해 볼 수 있습니다. 하지만 키업 이벤트의 효과가 더 좋다고 생각합니다.
2. 입력 내용에 따라 ajax를 통해 백그라운드 데이터에 비동기적으로 접근합니다.
3. 반환된 데이터를 탐색하여 표시 영역에 데이터를 추가합니다.
4. 데이터를 추가하는 동안 각 데이터에 효과를 추가하여 데이터를 텍스트 상자에 채우면 프롬프트 내용이 사라집니다.
5. 배경 데이터는 json 형식으로 연결되어야 합니다.
구체적인 코드는 다음과 같습니다.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>自动提示</title> <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script> <script type="text/ecmascript"> function txtchange() { var nnmae = $("#intxt").val(); $.ajax({ type: "post", url: "ashx/AutoNote.ashx", data: { name: nnmae }, dataType: "json", success: function (data) { $("#tbcontent").html(""); //删除原有数据 if (data != "null") { for (var i = 0; i < $(data).length; i++) { $("#tbcontent").append('<div class="item" onclick="mousedown(this)">' + data[i].name + '</div>'); } $("#tbcontent").slideDown(); } } }); } //选择其中的提示内容 function mousedown(object) { $("#intxt").val($(object).text()); $("#tbcontent").fadeOut(); } //文档框失去焦点,隐藏提示内容 function lost() { $("#tbcontent").fadeOut(); } </script> <style type="text/css"> .item:hover { background-color: Gray; cursor:pointer; } .show { width: 200px; z-index: 10; display: block; } .hidden { width: 200px; z-index: 10; display: none; border:1px solid rgb(80,160,91); border-top:none; } table tr td { margin:none; padding:none; border:none; } </style> </head> <body> <form id="form1" runat="server"> <div style="width: 210px; margin-left:auto; margin-right:auto"> <table> <tr> <td> <input type="text" style="width: 200px;" id="intxt" onkeyup="txtchange()" onblur="lost()"/> </td> </tr> <tr> <td> <div id="tbcontent" class="hidden"> </div> </td> </tr> </table> </div> </form> </body> </html>
js 텍스트 상자의 입력 내용에 대한 지능형 프롬프트 효과는 정보를 입력하고 검색하는 데 매우 실용적입니다. 이 기사가 자바스크립트 프로그래밍을 배우는 모든 사람에게 도움이 되기를 바랍니다.