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学习笔录 简单的JQuery
Apr 09 Javascript
php析构函数的具体用法小结
Mar 11 Javascript
Node.js模拟浏览器文件上传示例
Mar 26 Javascript
每日十条JavaScript经验技巧(二)
Jun 23 Javascript
angularjs 实现带查找筛选功能的select下拉框实例
Jan 11 Javascript
JavaScript实现的XML与JSON互转功能详解
Feb 16 Javascript
使用Vue自定义数字键盘组件(体验度极好)
Dec 19 Javascript
微信小程序实现城市列表选择
Jun 05 Javascript
vue-router中scrollBehavior的巧妙用法
Jul 09 Javascript
echarts整合多个类似option的方法实例
Jul 10 Javascript
JavaScript实现正则去除a标签并保留内容的方法【测试可用】
Jul 18 Javascript
微信小程序自定义带价格显示日历效果
Dec 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
php下几个常用的去空、分组、调试数组函数
2009/02/22 PHP
ThinkPHP删除栏目(实现批量删除栏目)
2017/06/21 PHP
php 中序列化和json使用介绍
2013/07/08 Javascript
jquery实现div拖拽宽度示例代码
2013/07/31 Javascript
JavaScript获取当前页面上的指定对象示例代码
2014/02/28 Javascript
jQuery.lazyload+masonry改良图片瀑布流代码
2014/06/20 Javascript
jQuery如何防止这种冒泡事件发生
2015/02/27 Javascript
javascript实现的字符串与十六进制表示字符串相互转换方法
2015/07/17 Javascript
纯js模拟div层弹性运动的方法
2015/07/27 Javascript
浅析jquery unbind()方法移除元素绑定的事件
2016/05/24 Javascript
javascript实现简单的ajax封装示例
2016/12/28 Javascript
简单理解Vue中的nextTick方法
2018/01/30 Javascript
原生JS实现获取及修改CSS样式的方法
2018/09/04 Javascript
微信小程序时间选择插件使用详解
2018/12/28 Javascript
JS实现简单的表格增删
2020/01/16 Javascript
微信小程序点击生成朋友圈分享图(遇到的坑)
2020/06/17 Javascript
Jquery使用each函数实现遍历及数组处理
2020/07/14 jQuery
EXTJS7实现点击拖拉选择文本
2020/12/17 Javascript
Python常见数据结构详解
2014/07/24 Python
python中enumerate的用法实例解析
2014/08/18 Python
Python中的异常处理相关语句基础学习笔记
2016/07/11 Python
python迭代dict的key和value的方法
2018/07/06 Python
Tensorflow 实现修改张量特定元素的值方法
2018/07/30 Python
在Python函数中输入任意数量参数的实例
2019/07/16 Python
pytorch之ImageFolder使用详解
2020/01/06 Python
Python 测试框架unittest和pytest的优劣
2020/09/26 Python
使用before和:after伪类制作css3圆形按钮
2014/04/08 HTML / CSS
机械设计专业应届生求职信
2013/11/21 职场文书
物业管理毕业生个人的求职信
2013/11/30 职场文书
会计专业的自荐信
2013/12/12 职场文书
仓管员岗位责任制
2014/02/19 职场文书
关于青春的演讲稿500字
2014/08/22 职场文书
工作经常出错的检讨书
2014/09/13 职场文书
四风问题查摆剖析材料
2014/10/11 职场文书
新店开张宣传语
2015/07/13 职场文书
python 网络编程要点总结
2021/06/18 Python