本文介绍一种JavaScript实现的输入提示特效。当用户在输入框键入字符时,下方列表中与输入内容匹配的项目会自动变为红色以作高亮显示。该效果通过JS控制样式实现,旨在提升用户交互体验,提供直观的下拉提示反馈。
JavaScript输入匹配高亮特效实现
本文分享一段使用JavaScript编写的输入提示特效代码,供开发者参考与借鉴。
该特效的核心功能在于交互反馈:当用户在输入框中键入字符时,系统会实时比对下方列出的类别。若列表中存在与当前输入字符相匹配的项目,这些匹配项的文字颜色将自动变为红色,从而在视觉上突出显示。这种机制与常见的下拉提示功能类似,但通过颜色变化提供了另一种直观的提示方式。
具体运行效果可参考下方截图。

如需查看在线演示,请访问以下地址。
http://demo.jb51.net/js/2015/js-tips-cha-color-codes/
实现该特效的具体代码如下所示。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>一种输入提示特效,匹配时换色</title>
<style type="text/css">
html, body { margin:20px; padding:0; }
body { color:#454444; padding: 0; font:12px/30px "宋体"; font-family:Tahoma;}
a { color:#454444; text-decoration:none; }
a:visited { color:#454444; }
a:hover, a:active, a:focus { color:#ff6842; text-decoration:underline; }
.fenlei {margin-bottom:30px; width:100%; float:left;}
.fenlei li { float:left; width:20%;}
.fenlei span,.fenlei span a,.fenlei span a:link,.fenlei span a:active,.fenlei span a:visited { color:#f35d61;}
.red{color:red;}
</style>
<script>
function e(a,f){
for(var i=0,j=a.length;i<j;i++){
f.call(a[i],i);
}
}
function s(o){
var a = document.getElementsByTagName("a"),
r = new RegExp(o.value,"i");
e(a,function(n){
c = a[n].innerHTML;
if(o.value!="" && r.test(c)){
a[n].innerHTML = "<span>" + c.replace(/<[^>]*>/gi,"") + "</span>";
}else{
a[n].innerHTML = c.replace(/<[^>]*>/gi,"");
}
})
}
</script>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
<input type="text" name="textfield" id="textfield" onkeyup="s(this)" />
<input type="submit" name="button" id="button" value="提交" />
</form>
<div class="fenlei">
<ul>
<li><a href="#" target="_blank">Adidas阿迪达斯</a></li>
<li><a href="#" target="_blank">AFU阿芙</a></li>
<li><a href="#" target="_blank">Anna Sui安娜苏</a></li>
<li><a href="#" target="_blank">AFU阿芙</a></li>
<li><a href="#" target="_blank">Anna Sui安娜苏</a></li>
</ul>
</div>
<div class="fenlei">
<ul>
<li><a href="#" target="_blank">barbie芭比</a></li>
<li><a href="#" target="_blank">Balo贝罗</a></li>
<li><a href="#" target="_blank">barbie芭比</a></li>
<li><a href="#" target="_blank">barbie芭比</a></li>
<li><a href="#" target="_blank">Balo贝罗</a></li>
</ul>
</div>
</body>
</html>
希望上述代码与说明能对您的JavaScript编程实践提供有益帮助。