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 相关文章推荐
修改jQuery Validation里默认的验证方法
Feb 14 Javascript
详解JavaScript中的forEach()方法的使用
Jun 08 Javascript
javascript瀑布流式图片懒加载实例解析与优化
Feb 23 Javascript
jQuery获取与设置iframe高度的方法
Aug 01 Javascript
webpack构建react多页面应用详解
Sep 15 Javascript
JS运动改变单物体透明度的方法分析
Jan 23 Javascript
js中getter和setter用法实例分析
Aug 14 Javascript
微信小程序之导航滑块视图容器功能的实现代码(简单两步)
Jun 19 Javascript
vue中渲染对象中属性时显示未定义的解决
Jul 31 Javascript
Antd的Table组件嵌套Table以及选择框联动操作
Oct 24 Javascript
React服务端渲染原理解析与实践
Mar 04 Javascript
使用JS实现简易计算器
Jun 14 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 常用函数库和一些实用小技巧
2009/01/01 PHP
约瑟夫环问题的PHP实现 使用PHP数组内部指针操作函数
2010/10/12 PHP
PHP 登录记住密码实现思路
2013/05/07 PHP
smarty简单入门实例
2014/11/28 PHP
PHP封装的字符串加密解密函数
2015/12/18 PHP
破除网页鼠标右键被禁用的绝招大全
2006/12/27 Javascript
从零开始学习jQuery (十) jQueryUI常用功能实战
2011/02/23 Javascript
js 编程笔记 无名函数
2011/06/28 Javascript
Jquery ajax传递复杂参数给WebService的实现代码
2011/08/08 Javascript
js面向对象 多种创建对象方法小结
2012/05/21 Javascript
js格式化货币数据实现代码
2013/09/04 Javascript
查找Oracle高消耗语句的方法
2014/03/22 Javascript
JavaScript中定义类的方式详解
2016/01/07 Javascript
Atitit.js的键盘按键事件捆绑and事件调度
2016/04/01 Javascript
基于Bootstrap3表格插件和分页插件实例详解
2016/05/17 Javascript
AngularJS中的JSONP实例解析
2016/12/01 Javascript
js实现自定义路由
2017/02/04 Javascript
JavaScript实现动态添加Form表单元素的方法示例
2017/08/14 Javascript
如何让你的JS代码更好看易读
2017/12/01 Javascript
Bootstrap 模态框多次显示后台提交多次BUG的解决方法
2017/12/26 Javascript
解决vue2.0动态绑定图片src属性值初始化时报错的问题
2018/03/14 Javascript
vue 之 .sync 修饰符示例详解
2018/04/21 Javascript
vue-cli3.0 脚手架搭建项目的过程详解
2018/10/19 Javascript
Nuxt.js SSR与权限验证的实现
2018/11/21 Javascript
JS集合set类的实现与使用方法示例
2019/02/01 Javascript
微信小程序 确认框的实现(附代码)
2019/07/23 Javascript
JS几个常用的函数和对象定义与用法示例
2020/01/15 Javascript
详解使用mocha对webpack打包的项目进行&quot;冒烟测试&quot;的大致流程
2020/04/27 Javascript
ant design vue 表格table 默认勾选几项的操作
2020/10/31 Javascript
Python异常处理操作实例详解
2018/05/10 Python
Python实现的栈、队列、文件目录遍历操作示例
2019/05/06 Python
Python中logging日志记录到文件及自动分割的操作代码
2020/08/05 Python
为娇小女性量身打造:Petite Studio
2018/11/01 全球购物
保证书格式
2015/01/16 职场文书
2016新年感言
2015/08/03 职场文书
CentOS安装Nginx并部署vue
2022/04/12 Servers