前端实例演习 - 可搜刮列表

可搜刮列表

代码储存在Github
结果预览

初志:许多人在初学前端的时刻都邑问,“怎样入门前端?”
同为在前端进修道路上,奋力追逐的一员,本人关于如今收集上所能看到的 “入门级” 的课本并不太惬意。进修一门新知识,实例是特别主要的。在这里本人整理了如今页面上罕见功用完成的详细实例。愿能为人人供应一些协助。
愿望可以与人人相互分享,共同进步。

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();
    }
})();

好啦,如今一切的代码都写完啦!

连忙翻开浏览器,看看结果吧!

在这里,只是给人人供应一种思绪,参考。
详细的完成,每个人都可以有差别的要领。
请人人连忙发挥设想,把你最想完成的功用,在电脑敲出来吧!

参考自w3cschools

    原文作者:Garrik_刘翔
    原文地址: https://segmentfault.com/a/1190000008682039
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞