jquery插件實現(xiàn)搜索歷史
更新時間:2021年04月23日 16:31:43 作者:阿飛超努力
這篇文章主要為大家詳細介紹了jquery插件實現(xiàn)搜索歷史,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
每天一個jquery插件-做搜索歷史,供大家參考,具體內容如下
效果如下
代碼部分
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>做搜索歷史</title> <script src="js/jquery-3.4.1.min.js"></script> <style> *{ margin: 0px; padding: 0px; } #searchbox{ /* border: 1px solid lightgray; */ height: 40px; width: 720px; position: relative; } #searchinput{ border: 1px solid lightgray; border-radius: 5px 0px 0px 5px; height: 28px; position: absolute; right: 45px; top: 5px; left: 5px; width: 670px; outline: none; text-indent: 12px; font-size: 12px; color: gray; } #searchinput:focus{ border-color: rgb(252,25,68); } #searchinput:focus~#morebox{ display:flex; } #searchbtn{ height: 30px; width: 40px; border: none; border-radius: 0px 5px 5px 0px; background-color: rgb(252,25,68); position: absolute; right: 5px; top: 5px; display: flex; justify-content: center; align-items: center; cursor: pointer; } #searchbtn img{ width: 25px; height: 25px; } #morebox{ border: 1px solid lightgray; position: absolute; top: 40px; left: 5px; right: 5px; height: 370px; z-index: 7; border-radius: 2px; display: flex; display: none; } #push{ flex: 1; /* border: 1px solid lightgray; */ position: relative; } #history{ /* display: none; */ flex: 1; /* border: 1px solid lightgray; */ position: relative; } .head{ position: absolute; top: 0px; width: 100%; height: 30px; border-bottom: 1px solid lightgray; font-size: 12px; display: flex; align-items: center; text-indent: 12px; color: rgb(252,85,49); } .main{ position: absolute; top: 30px; width: 100%; bottom: 0px; overflow-x:hidden; overflow-y: auto; } .item{ font-size: 12px; height: 30px; display: flex; align-items: center; text-indent: 12px; cursor: pointer; } .item:hover{ background-color: lightgray; } </style> </head> <body> <div id="searchbox"> <input id="searchinput" placeholder="c一下" /> <button id="searchbtn"><img src="img/sc.png"></button> <div id="morebox"> <div id="history"> <div class="head">搜索歷史</div> <div class="main"></div> </div> <div id="push"> <div class="head">熱門推薦</div> <div class="main"> <div class="item">微軟終于對JDK下手了</div> <div class="item">小米隔空充電技術</div> <div class="item">Linux常用命令大全</div> <div class="item">阿飛超努力又水文了</div> <div class="item">每天學一個jquery插件竟然沒有插件!究竟是道德的淪喪,還是人性的扭曲</div> </div> </div> </div> </div> </body> </html> <script> $(document).ready(function(){ //每次點擊搜索就假如緩存之中 // $(".item").click(function(){ var str = $(this).text(); $("#searchinput").val(str) }) // localStorage["history"] = '[]'//清除一下緩存; drawhistory(); $("#searchbtn").click(function(){ var str = $("#searchinput").val(); if(str&&str!=""){ var arr = getSession(); arr.push(str); localStorage["history"] = JSON.stringify(arr); drawhistory(); } }) getSession(); //根據(jù)緩存找到歷史,然后生成搜索歷史 function drawhistory(){ var arr = getSession(); $("#history .main .item").remove(); arr.forEach(item=>{ var $item = $("<div class='item'>"+item+"</div>"); $item.appendTo($("#history .main")); }) } //獲得緩存 function getSession(){ var ses = localStorage["history"]; var arr = ses==undefined?[]:JSON.parse(ses); return arr; } }) </script>
思路解釋
1、布局是個硬傷,我也不知道我這個布局是不是最合適的,不過看著沒毛病
2、然后歷史部分就是存到localStorage里面,在合適的動作的地方處理成對應的效果放回dom里面
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
如何使用CSS3和JQuery easing 插件制作絢麗菜單
這篇文章主要介紹了如何使用CSS3和JQuery easing 插件制作絢麗菜單,這樣做可以讓有菜單的盒子滑出,并且彈出縮略圖。在某些菜單項中我們還包含著有進一步鏈接的子菜單。取決于我們鼠標在菜單項上的停懸,子菜單將向左或向右滑動。,需要的朋友可以參考下2019-06-06jQuery EasyUI右鍵菜單實現(xiàn)關閉標簽/選項卡
這篇文章主要介紹了jQuery EasyUI右鍵菜單實現(xiàn)關閉標簽/選項卡,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-10-10