搜索框的功能实现

这个页面主要是分为几点件事 由简入细
//刚打开页面时 显示的画面
//1.假设 localeStorage中有数据 那么用渲染出来 ,如果没有数据则不显示,
//2.必须先获取 储存的localeStoragre 那么可以封装一个函数 getKeywords()
//3.把取到的字符串,转换成数组 arr 渲染到模板
//4.模板这里可以封装为一render(arr)函数,意为刷新函数;
//5.完成显示,

//二
1.点击事件,获取当前输入的val(),如果没有输入这 return;后面不再运行;
2.调用获取 localstorage 的函数 .取到数据后,为数组,
3.把当前的数据 push添加到 一个数组arr中,
4.render(arr)
5.将这个数组存储到localeStorage 要转换为json字符串,str=JSON.stringify(arr)‘
6.window.localeStorage.setItem(“keyword”,str);
//三 清除事件
// 1.点击清除 消除localstorage中的数据(全部清除)
// 再调用刷新函数

1.
var arrKey=[];
arrKey=getKeywords(“keyword”);
render(arrKey);
2.
//封装几个个函数
- function getKeyword(){
var arr=[];
var arrStr=window.localeStorage.getItem(“keyword”);
if(arrStr){
arr=JSON.parse(arrStr);
}
return arr
};
3.
//存储 localeStorage
function savekeywords(arr){
var str=JSON.stringify(arr);
window.localStorage.setItem(“keyword”,str);
}
4.
//刷新 渲染
function render(arr){
if(arr.length>0){
(“.searchhistory”).show();  
          }else{  
            $(“.searchhistory”).hide();  
          }  
          var html=template(“searchList”,{list:arr});
(“.searchhistory”).show();            }else{              $(“.searchhistory”).hide();            }            var html=template(“searchList”,{list:arr});
(“.searchhistory ul”).html(html);

}
//取 keyword
(“.mui-btn-primary”).click(function(){  
       var keyword=
(“.mui-btn-primary”).click(function(){         var keyword=
(this).siblings(“input”).val();
$(this).siblings(“input”).val(“”);
if(keyword.length==0){
return;
}
var arrKey=getKeywords(“keyword”);
arrKey.push(keyword);
savekeywords(arrKey);
// var str=JSON.stringify(arrKey);
// window.localStorage.setItem(“keyword”,str);
render(arrKey);
window.location.href=”./list.html?proName=”+keyword;
});

6.单个删除功能
其实是删除点击时 对应的 localeStorger 中的数据,那么在渲染模板时 需要设置 自定义属性 如 data-id=“value.id”, 则取值时为 index= $(this).data(“id”) ;

在 点击事件中
{
arr.splice(index,1);
// 储存 数组
saveKeyword(arr);
//再刷新
render(arr);

}

7.全部清除 就简单了
移除 localeStorage
window. localeStorage .remove(“keyword”);
刷新
var arr=getKeywords(“keyword”);
render(arr);

ps 写的时候 手打可能会错

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值