日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

前端实现搜索记录功能

發布時間:2023/12/15 HTML 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 前端实现搜索记录功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

代碼亂掉了。。。移步

得益于H5的API,前端可以很方便的存儲數據,除了cookie,新增的sessionStorage、localStorage可以在用戶本地存儲數據,這可以讓前端實現一些,以前只能有數據庫存儲的功能。

搜索記錄可以用前端實現,由于這些數據沒有特別安全的要求,用戶搜索過的關鍵詞保存在用戶本地是完全可以的。這樣做也可以減少服務器的壓力。

搜索記錄應該采用localStorage永久的存儲,當用戶下次訪問的時候,這個數據還在。

下面的例子是手機端網頁,布局比較粗糙,除了替換搜索的按鈕圖片。其他的功能都正常。

主要思路:在向localStorage存儲的時候,以點擊搜索的時間戳為key,以搜索的詞語為value.最多存儲6條數據。當超過6條,會刪除最早的記錄。

localStorage的存儲是有順序的,最先存的會在最底下。

<!DOCTYPE html> <html> <head lang="en"><meta charset="UTF-8"><title>1元許愿</title><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"><meta name="apple-mobile-web-app-capable" content="no"><meta name="apple-mobile-web-app-status-bar-style" content="black"><meta name="format-detection" content="telephone=no"> <style> .text-center{text-align:center;} .box{display:-webkit-box;display:box;} #idNumber1{width:80%;overflow:hidden;text-align:left;display:block;max-height:100%;border:1px solid #0C0;} .his-record:after {clear:both;content:'.';display:block;width: 0;height: 0;visibility:hidden;} {} .his-record>div{float:left;width:31%;margin:0.5rem 1%;padding:5px 6%;border-radius:3px;border:1px solid #999;color:#999;}</style> </head> <body><section><div class="box" style="border-radius:5px;"><form id="form1" method="get" action="http://www.baidu.com" style="width:80%"><input class="" id="idNumber1"></form><div style="width:20%;background:url(../assets/images/yy/search.jpg) no-repeat right;background-size:contain;" id="search"></div></div></section><section class="his-record text-center"></section><!--清空歷史記錄--><section style="position:fixed;bottom:70px;width:100%;"><div class="font-brown text-center" style="border:2px solid #834f1b;padding:3px 15px;margin:0 auto;width:40%;" id="his-dele">清空搜索記錄</div></section> <script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script> <script>$(document).delegate(".his-record>div","click",function(){$("#idNumber1").val($(this).text()); });/*搜索記錄相關*///從localStorage獲取搜索時間的數組var hisTime;//從localStorage獲取搜索內容的數組var hisItem;//從localStorage獲取最早的1個搜索時間var firstKey;function init (){//每次執行都把2個數組置空hisTime = [];hisItem = [];//模擬localStorage本來有的記錄localStorage.setItem("a",12333);//本函數內的兩個for循環用到的變量var i=0for(;i<localStorage.length;i++){//alert(typeof(localStorage.key(i)));if(!isNaN(localStorage.key(i))){//hisItem.push(localStorage.getItem(localStorage.key(i)));hisTime.push(localStorage.key(i));}}
hisTime.sort();
   for(var y=hisTime.length;y>-1;y--){  
         hisItem.push(localStorage.getItem(hisTime[y]));
} 
//alert("hisTime:"+hisTime); //alert("hisItem:"+hisItem) i=0; //執行init(),每次清空之前添加的節點 $(".his-record").html(""); for(;i<hisItem.length;i++){ //alert(hisItem); $(".his-record").prepend('<div class="word-break">'+hisItem[i]+'</div>') } // bindListener(); } init(); $("#search").click(function(){ var value = $("#idNumber1").val(); var time = (new Date()).getTime(); if(!value){ alert("你未輸入搜索內容"); return false; } //輸入的內容localStorage有記錄 if($.inArray(value,hisItem)>=0){ for(var j = 0;j<localStorage.length;j++){ if(value==localStorage.getItem(localStorage.key(j))){ localStorage.removeItem(localStorage.key(j)); } } localStorage.setItem(time,value); } //輸入的內容localStorage沒有記錄 else{ //由于限制了只能有6條記錄,所以這里進行判斷 if(hisItem.length>5){ firstKey = hisTime[0] localStorage.removeItem(firstKey); localStorage.setItem(time,value); }else{ localStorage.setItem(time,value) } } init(); //正式的時候要提交的!!! //$("#form1").submit() }); //清除記錄功能 $("#his-dele").click(function(){ var f = 0; for(;f<hisTime.length;f++){ localStorage.removeItem(hisTime[f]); } /* for(var i=0;i<localStorage.length;i++){ localStorage.removeItem(localStorage.key(i)); }*/ init(); }); </script> </body> </html>

  代碼分析參見下篇博客

  

  預覽如下:

轉載于:https://www.cnblogs.com/xiaochongchong/p/5803784.html

總結

以上是生活随笔為你收集整理的前端实现搜索记录功能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。