JS实现商品筛选功能


Posted in Javascript onAugust 19, 2020

每天一个JS 小demo之商品筛选。主要知识点:DOM方法综合运用

效果图:

JS实现商品筛选功能

代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
nav {
height: 50px;
}
nav span {
margin: 0 5px;
}
.show {
color: red;
}
</style>
</head>
<body>
<nav></nav>
<ul>
<li>
<strong>手机:</strong>
<a href="javascript:;">锤子T1</a>
<a href="javascript:;">锤子T2</a>
<a href="javascript:;">坚果U1</a>
<a href="javascript:;">锤子M1</a>
<a href="javascript:;">坚果Pro</a>
</li>
<li>
<strong>价格:</strong>
<a href="javascript:;">3200</a>
<a href="javascript:;">2600</a>
<a href="javascript:;">899</a>
<a href="javascript:;">2799</a>
<a href="javascript:;">2299</a>
</li>
<li>
<strong>屏幕:</strong>
<a href="javascript:;">399</a>
<a href="javascript:;">600</a>
<a href="javascript:;">800</a>
<a href="javascript:;">1200</a>
</li>
</ul>
<script type="text/javascript">
(function(){
var nav = document.querySelector('nav');
var li = document.querySelectorAll('li');
var ids = [];
for(var i = 0; i <li.length; i++){
setClick(li[i],i);
}
function setClick(parent,index){
var option = parent.getElementsByTagName("a");
for(var i = 0; i < option.length; i++){
/*
建一个数组
*/
option[i].onclick = function(){
for(var i = 0; i < option.length; i++){
option[i].className = "";
}
this.className = "show";
var span = ids[index];
if(ids[index]){
span.children[0].innerHTML = this.innerHTML;
return;
}
span = document.createElement("span");
var a = document.createElement("a");
var strong = document.createElement("strong");
a.innerHTML = "x";
a.href="javascript:;";
a.onclick = function(){
nav.removeChild(span);
ids[index]="";
/*
删除元素清空数组对象位
*/
for(var i = 0; i < option.length; i++){
option[i].className = "";
}
}
strong.innerHTML = this.innerHTML;
span.appendChild(strong);
span.appendChild(a);
ids[index] = span;
/*
元素生成之后,先存入数组的对应位
*/

/*
按照数组的顺序重新添加一遍元素
*/
for(var i = 0; i < ids.length; i++){
if(ids[i]){
nav.appendChild(ids[i]);
}
}
};
}
}
})(); 
</script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js实时监听文本框状态的方法
Apr 26 Javascript
jQuery实现返回顶部效果的方法
May 29 Javascript
详解jquery validate实现表单验证 (正则表达式)
Jan 18 Javascript
详解Vue使用 vue-cli 搭建项目
Apr 20 Javascript
vue todo-list组件发布到npm上的方法
Apr 04 Javascript
Canvas实现微信红包照片效果
Aug 21 Javascript
浅谈express.js框架中间件(middleware)
Apr 07 Javascript
vue+vuex+json-seiver实现数据展示+分页功能
Apr 11 Javascript
微信小程序 冒泡事件原理解析
Sep 27 Javascript
JS中的继承操作实例总结
Jun 06 Javascript
angular *Ngif else用法详解
Dec 15 Javascript
关于antd tree 和父子组件之间的传值问题(react 总结)
Jun 02 Javascript
node文件上传功能简易实现代码
Jun 16 #Javascript
详解webpack 多入口配置
Jun 16 #Javascript
requirejs + vue 项目搭建详解
Jun 16 #Javascript
jQuery 控制文本框自动缩小字体填充
Jun 16 #jQuery
jQuery序列化后的表单值转换成Json
Jun 16 #jQuery
详解探索 vuex 2.0 以及使用 vuejs 2.0 + vuex 2.0 构建记事本应用
Jun 16 #Javascript
基于AngularJS实现的工资计算器实例
Jun 16 #Javascript
You might like
PHP正则表达式 /i, /is, /s, /isU等介绍
2014/10/23 PHP
php使用curl打开https网站的方法
2015/06/17 PHP
php实现的xml操作类
2016/01/15 PHP
PHP中单例模式与工厂模式详解
2017/02/17 PHP
如何优雅的使用 laravel 的 validator验证方法
2018/11/11 PHP
PHP判断当前使用的是什么浏览器(推荐)
2019/10/27 PHP
JavaScript this调用规则说明
2010/03/08 Javascript
JS 自定义函数缺省值的设置方法
2010/05/05 Javascript
javascript 子窗体父窗体相互传值方法
2010/05/31 Javascript
一个关于jqGrid使用的小例子(行按钮)
2011/11/04 Javascript
固定网页背景图同时保持图片比例的思路代码
2013/08/15 Javascript
JS将表单导出成EXCEL的实例代码
2013/11/11 Javascript
jQuery 计算iframe 窗口大小的方法
2014/05/13 Javascript
你不需要jQuery(三) 新AJAX方法fetch()
2016/06/14 Javascript
jQuery事件绑定用法详解
2016/09/08 Javascript
解决webpack打包速度慢的解决办法汇总
2017/07/06 Javascript
vue与TypeScript集成配置最简教程(推荐)
2017/10/17 Javascript
element-ui table span-method(行合并)的实现代码
2018/12/20 Javascript
qrcode生成二维码微信长按无法识别问题的解决
2019/04/04 Javascript
javascript设计模式 ? 中介者模式原理与用法实例分析
2020/04/20 Javascript
[01:32]dota2拉比克至宝(222)
2018/12/20 DOTA
Django 全局的static和templates的使用详解
2019/07/19 Python
Linux下通过python获取本机ip方法示例
2019/09/06 Python
PyCharm下载和安装详细步骤
2019/12/17 Python
Selenium基于PIL实现拼接滚动截图
2020/04/10 Python
python基于pygame实现飞机大作战小游戏
2020/11/19 Python
机关门卫岗位职责
2013/12/30 职场文书
计算机专业毕业生自荐信范文
2014/03/06 职场文书
党组织公开承诺书
2014/03/29 职场文书
幼儿园门卫岗位职责范本
2014/07/02 职场文书
2014年综合治理工作总结
2014/11/20 职场文书
2014年手术室工作总结
2014/11/26 职场文书
2015年七一建党节活动总结
2015/03/20 职场文书
产品调价通知函
2015/04/20 职场文书
2016公务员年度考核评语
2015/12/01 职场文书
Go语言设计模式之结构型模式
2021/06/22 Golang