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 相关文章推荐
客户端脚本中常常出现的一些问题和调试技巧
Jan 09 Javascript
JS类定义原型方法的两种实现的区别评论很多
Sep 12 Javascript
js对象之JS入门之Array对象操作小结
Jan 09 Javascript
jQuery实现统计输入文字个数的方法
Mar 11 Javascript
js中利用tagname和id获取元素的方法
Jan 03 Javascript
Node.js重新刷新session过期时间的方法
Feb 04 Javascript
微信小程序 生命周期函数详解
May 24 Javascript
JS实现求数组起始项到终止项之和的方法【基于数组扩展函数】
Jun 13 Javascript
js判断数组是否包含某个字符串变量的实例
Nov 24 Javascript
利用Javascript开发一个二维周视图日历
Dec 14 Javascript
JavaScript实现滑动门效果
Jan 18 Javascript
Vue开发中遇到的跨域问题及解决方法
Feb 11 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 无极分类(递归)实现代码
2010/01/05 PHP
PHP生成唯一订单号的方法汇总
2015/04/16 PHP
CodeIgniter视图使用注意事项
2016/01/20 PHP
PHP支付系统设计与典型案例分享
2016/08/02 PHP
详解PHP文件的自动加载(autoloading)
2018/02/04 PHP
JavaScript事件列表解说
2006/12/22 Javascript
showModalDialog 和 showModelessDialog
2007/01/22 Javascript
Javascript 遍历页面text控件详解
2014/01/06 Javascript
使用jquery修改表单的提交地址基本思路
2014/06/04 Javascript
jquery获取一个元素下面相同子元素的个数代码
2014/07/31 Javascript
Node.js中使用Log.io在浏览器中实时监控日志(等同tail -f命令)
2014/09/17 Javascript
javascript计时器编写过程与实现方法
2016/02/29 Javascript
实例讲解JavaScript中call、apply、bind方法的异同
2016/09/13 Javascript
自学实现angularjs依赖注入
2016/12/20 Javascript
jQuery 中msgTips 顶部弹窗效果实现代码
2017/08/14 jQuery
Node.js如何使用Diffie-Hellman密钥交换算法详解
2017/09/05 Javascript
在Vue组件上动态添加和删除属性方法
2018/02/23 Javascript
JavaScript对象的浅拷贝与深拷贝实例分析
2018/07/25 Javascript
前端js中的事件循环eventloop机制详解
2019/05/15 Javascript
基于JS判断对象是否是数组
2020/01/10 Javascript
国内常用的js类库大全(CDN公共库)
2020/06/24 Javascript
在Uni中使用Vue的EventBus总线机制操作
2020/07/31 Javascript
Python动态加载模块的3种方法
2014/11/22 Python
CentOS安装pillow报错的解决方法
2016/01/27 Python
python验证码识别教程之灰度处理、二值化、降噪与tesserocr识别
2018/06/04 Python
Python2.7.10以上pip更新及其他包的安装教程
2018/06/12 Python
基于pygame实现童年掌机打砖块游戏
2020/02/25 Python
python实现ftp文件传输系统(案例分析)
2020/03/20 Python
Python实现从N个数中找到最大的K个数
2020/04/02 Python
美国波西米亚风格服装品牌:Show Me Your Mumu
2018/01/05 全球购物
新闻记者实习自我鉴定
2013/09/19 职场文书
运动会演讲稿200字
2014/08/25 职场文书
2014年村委会工作总结
2014/11/24 职场文书
莫言诺贝尔获奖感言(全文)
2015/07/31 职场文书
如何解决springcloud feign 首次调用100%失败的问题
2021/06/23 Java/Android
go语言使用Casbin实现角色的权限控制
2021/06/26 Golang