搜索缓存机制

自己做了一个根据搜索关键字的首拼来查找的demo;

主要是步骤,是将搜索的结果缓存到本地  我因为是demo,所以用的是sessionStorage,如果用到项目里面得用localStorage

function setinp(){

				let value = $("inp").value,
//暂时不用管这个函数里面调用的函数,后面会写全代码
//这里主要用途如果不重复就push,否则什么也不干
				list = getlist();
				if("" != value && " " != value && null != value){
					if(list.length > 0){
						let flag = false;
						for (let i = 0; i < list.length; i++) 
							if(value == list[i]) flag = !flag;
						if(!flag)list.push(value);
					}else{
						list.push(value);
					}
		        	setlist(list);
				}
				setcontent(value);
			}

然后是将缓存和输入的做对比

window.onload = function(){
				sethmain();
				$("inp").addEventListener("input", function () {
           			let value = $("inp").value;
           			if(value)getlist2();
           			else sethmain();
        		})
			}


function getlist2(){
				let jsonst = "", list = [] , list2 = [],val = $("inp").value,pv = __pinyin.get(val),pvlist = pv.l.split("");
				list = getlist();
//重要的地方
//主要用处就是将输入的值与缓存的值对比,是否相似,也就是汉字首字母的对比
//如果是相似,立马结束循环(提高点效率,因为已经用到三层循环了)
//然后将与缓存的相似值从新innerHTML到页面
//比如,输入k 马上就能看到 “裤子”,“亏本”之类的按钮,可以直接点击
//还有一个重要函数是 p2 = __pinyin.get(list[i]);
//这个函数是我在网上下载的,补全了里面的个把文字,我自己在弄一个新连接下载(不要见怪)
				for (let i = 0; i < list.length; i++) {
					for (let z = 0; z < pvlist.length; z++) {
						let flag = true,
						p2 = __pinyin.get(list[i]),
						p2list = p2.l.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值