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 相关文章推荐
为JavaScript提供睡眠功能(sleep) 自编译JS引擎
Aug 16 Javascript
jQuery学习基础知识小结
Nov 25 Javascript
鼠标悬浮停留三秒后自动显示大图js代码
Sep 09 Javascript
js实现仿QQ秀换装效果的方法
Mar 04 Javascript
JS获取年月日时分秒的方法分析
Nov 28 Javascript
JS对象创建的几种方式整理
Feb 28 Javascript
详解使用nvm安装node.js
Jul 18 Javascript
node.js实现微信JS-API封装接口的示例代码
Sep 06 Javascript
bootstrap Table服务端处理分页(后台是.net)
Oct 19 Javascript
详解在网页上通过JS实现文本的语音朗读
Mar 28 Javascript
vue实现todolist基本功能以及数据存储功能实例详解
Apr 11 Javascript
vuex vue简单使用知识点总结
Aug 29 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
留言板翻页的实现详解
2006/10/09 PHP
PHP中MD5函数使用实例代码
2008/06/07 PHP
PHP操作MongoDB时的整数问题及对策说明
2011/05/02 PHP
YII模块实现绑定二级域名的方法
2014/07/09 PHP
php延迟静态绑定实例分析
2015/02/08 PHP
php实现curl模拟ftp上传的方法
2015/07/29 PHP
PHP 7.0.2 正式版发布
2016/01/08 PHP
PHP对称加密函数实现数据的加密解密
2016/10/27 PHP
A标签触发onclick事件而不跳转的多种解决方法
2013/06/27 Javascript
JS数组的赋值介绍
2014/03/10 Javascript
使用text方法获取Html元素文本信息示例
2014/09/01 Javascript
JavaScript 事件绑定及深入
2015/04/13 Javascript
jQuery设置Cookie及删除Cookie实例分析
2016/04/15 Javascript
BootStrap 实现各种样式的进度条效果
2016/12/07 Javascript
jQuery纵向导航菜单效果实现方法
2016/12/19 Javascript
web前端页面生成exe可执行文件的方法
2018/02/08 Javascript
Vue登录主页动态背景短视频制作
2019/09/21 Javascript
微信小程序实现分享商品海报功能
2019/09/30 Javascript
vuex Module将 store 分割成模块的操作
2020/12/07 Vue.js
Python语言编写电脑时间自动同步小工具
2013/03/08 Python
记录Django开发心得
2014/07/16 Python
Python多进程机制实例详解
2015/07/02 Python
Python分割指定页数的pdf文件方法
2018/10/26 Python
举例讲解Python常用模块
2019/03/08 Python
Python统计一个字符串中每个字符出现了多少次的方法【字符串转换为列表再统计】
2019/05/05 Python
python之PyQt按钮右键菜单功能的实现代码
2019/08/17 Python
Python实现ATM系统
2020/02/17 Python
Python如何存储数据到json文件
2020/03/09 Python
python 写函数在一定条件下需要调用自身时的写法说明
2020/06/01 Python
.NET程序员的数据库面试题
2012/10/10 面试题
就业推荐表自我鉴定
2013/10/29 职场文书
黄河的主人教学反思
2014/02/07 职场文书
法院干警四风问题个人对照检查材料思想汇报
2014/10/07 职场文书
民政局标准版离婚协议书
2014/12/01 职场文书
广播体操比赛主持词
2015/06/29 职场文书
MySQL 如何设计统计数据表
2021/06/15 MySQL