有历史搜索记录的搜索框(百度搜索案例)

带有历史搜索词条的搜索框

记录一下带有历史搜索词条的搜索框,具体效果类似百度搜索:

  点击搜索框 展示历史搜索词条列表;

  点击搜索框以外的区域 隐藏历史搜索词条列表;

  点击删除除去对应词条。

效果图:

HTML:

 1 <body>
 2     <div class="search-box">
 3         <!--搜索框-->
 4         <form action="">
 5             <input id="text_box" class="text_box left" type="text"/>
 6             <input id="submit_box" class="submit_box left" value="" type="submit"/>
 7         </form>
 8         <!--历史搜索词条-->
 9         <div class="history-box">
10             <div class="text">最近搜索</div>
11             <ul class="history-list">
12                 <li>
13                     <div class="history-item">碎花裙</div>
14                     <div class="button">删除</div>
15                 </li>
16                 <li>
17                     <div class="history-item">lv</div>
18                     <div class="button">删除</div>
19                 </li>
20                 <li>
21                     <div class="history-item">辣条</div>
22                     <div class="button">删除</div>
23                 </li>
24             </ul>
25         </div>
26     </div>
27 </body>

CSS:

 1 /*使用了Less*/
 2 
 3 <style type='text/less'>
 4     *{
 5         margin:0;
 6         padding:0;
 7     }
 8     ul,ol,li{
 9         list-style: none;
10     }
11     html,body{
12         font-size:14px;
13     }
14     .left{
15         float: left;
16     }
17     @font-color:#ccc;
18     .search-box{
19         position: relative;
20         width:640px;
21         margin-top:26px;
22         margin-left:122px;
23         color:@font-color;
24         form{
25             position:relative;
26             width:434px;
27             height:40px;
28             .text_box{
29                 width:392px;
30                 height:38px;
31                 border:0;
32                 border:1px solid #eee;
33                 text-indent: 10px;
34                  background: 0;
35                  outline: 0;
36             }
37             .submit_box{
38                 width:40px;
39                 height:40px;
40                 border:0;
41                 border:1px solid #eee;
42                 border-left: 0;
43                  background:#fff url(img/search.png) no-repeat -2px center;
44                  outline: 0;
45             }
46             .submit_box:hover{
47                 cursor:pointer;
48                 background-color: #666;
49                 background-position:12px center;
50             }
51         }
52         /*历史记录*/
53         .history-box{
54             display: none;
55             position: absolute;
56             left:0;
57             top:41px;
58             width: 394px;
59             background: #eee;
60             .text{
61                 height: 30px;
62                 line-height: 30px;
63             }
64             .history-list{
65                 &>li{
66                     overflow: hidden;
67                     
68                     .history-item{
69                         float: left;
70                     }
71                     .button{
72                         width: 50px;
73                         float: right;
74                         text-align: right;
75                     }
76                     .button:hover{
77                         color:#666;
78                         cursor:pointer;
79                     }
80                 }
81             }
82         }
83     }
84 </style>

JS:

 1 //使用了jQuery
 2 
 3 window.onload = function(){
 4     let isInsearchbox = false;
 5     //显示
 6     $('#text_box').on('focus',function(){
 7         $('.history-box').show();
 8     })
 9     //隐藏
10     $('.search-box').on('mouseenter',function(){
11         isInsearchbox = true;
12     })    
13     $('.search-box').on('mouseleave',function(){
14         isInsearchbox = false;
15     })
16     $(document).on('click',function(){
17         if(!isInsearchbox){
18             $('.history-box').hide();
19         }
20     })
21     //删除
22     $('.history-list>li>.button').each(function(){
23         $(this).on('click',function(){
24             $(this).parent().hide();
25         })
26     })
27 }

猜你喜欢

转载自www.cnblogs.com/dynamicA/p/11091624.html
今日推荐