可搜刮列表
初志:许多人在初学前端的时刻都邑问,“怎样入门前端?”
同为在前端进修道路上,奋力追逐的一员,本人关于如今收集上所能看到的 “入门级” 的课本并不太惬意。进修一门新知识,实例是特别主要的。在这里本人整理了如今页面上罕见功用完成的详细实例。愿能为人人供应一些协助。
愿望可以与人人相互分享,共同进步。
HTML部份
<input type="text" id="myInput" placeholder="请输入搜刮内容">
<ul id="myUL">
<li><a href="#" class="header">A</a></li>
<li><a href="#">Adele</a></li>
<li><a href="#">Agnes</a></li>
<li><a href="#" class="header">B</a></li>
<li><a href="#">Billy</a></li>
<li><a href="#">Bob</a></li>
<li><a href="#" class="header">C</a></li>
<li><a href="#">Calvin</a></li>
<li><a href="#">Christina</a></li>
<li><a href="#">Cindy</a></li>
</ul>
CSS 部份
#myInput {
background-image: url('http://www.freeiconspng.com/uploads/search-icon-png-2.png'); /* 背景为放大镜图标 */
background-size: 18px; /*大小和内容框大小一样*/
background-position: 10px 12px; /* 背景图片定位 */
background-repeat: no-repeat; /* 图片不反复 */
width: 100%;
font-size: 16px;
padding: 12px 20px 12px 40px;
border: 1px solid #ddd;
margin-bottom: 12px;
}
#myUL {
/*消灭默许款式*/
list-style: none;
padding: 0;
margin: 0;
}
#myUL li a {
border: 1px solid #ddd;
margin-top: -1px; /*消弭两重border*/
background-color: #f6f6f6;
padding: 12px;
text-decoration: none;
font-size: 18px;
color: black;
display: block; /*变成块级元素,以来添补li*/
}
#myUL li a.header {
background-color: #e2e2e2;
cursor: default; /*使光标看上去,a.header为不可点击项*/
}
#myUL li a:hover:not(.header) {
background-color: #eee;
}
JavaScript 部份
(function(){
/*搜刮函数*/
function mySearch() {
var inputBox = document.getElementById('myInput'),
input = inputBox.value.toUpperCase(), /*搜刮输入变成大写*/
ul = document.getElementById("myUL"),
li = ul.getElementsByTagName('li');
for (i = 0; i < li.length; i++) {
a = li[i].getElementsByTagName("a")[0]; /*取得<li>里的<a>*/
if (a.innerHTML.toUpperCase().indexOf(input) > -1) { /*搜刮是不是<a>里有"searchContent"*/
li[i].style.display = "block";
} else {
li[i].style.display = "none";
}
}
}
var inputBox = document.getElementById('myInput');
/*每当键盘按键按下后抬起,都挪用一次函数*/
inputBox.onkeyup = function() {
mySearch();
}
})();
好啦,如今一切的代码都写完啦!
连忙翻开浏览器,看看结果吧!
在这里,只是给人人供应一种思绪,参考。
详细的完成,每个人都可以有差别的要领。
请人人连忙发挥设想,把你最想完成的功用,在电脑敲出来吧!