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 构造函数强制调用经验总结
Dec 02 Javascript
js 文本滚动效果的实例代码
Aug 17 Javascript
使用js画图之饼图
Jan 12 Javascript
用js判断是否为360浏览器的实现代码
Jan 15 Javascript
javascript实现点击商品列表checkbox实时统计金额的方法
May 15 Javascript
JS清除文本框内容离开在恢复及鼠标离开文本框时触发js的方法
Jan 12 Javascript
判断js的Array和Object的实现方法
Aug 29 Javascript
JS去掉字符串前后空格、阻止表单提交的实现代码
Jun 08 Javascript
网页中的图片查看器viewjs使用方法
Jul 11 Javascript
vue.js分页中单击页码更换页面内容的方法(配合spring springmvc)
Feb 10 Javascript
Vue $mount实战之实现消息弹窗组件
Apr 22 Javascript
Vue 开发必须知道的36个技巧(小结)
Oct 09 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
ftp类(myftp.php)
2006/10/09 PHP
CodeIgniter针对lighttpd服务器URL重写的方法
2015/06/10 PHP
php封装的验证码类分享
2017/02/26 PHP
PHP依赖注入原理与用法分析
2018/08/21 PHP
JavaScript 创建对象和构造类实现代码
2009/07/30 Javascript
javascript学习笔记(十三) js闭包介绍(转)
2012/06/20 Javascript
使用HTML+CSS+JS制作简单的网页菜单界面
2015/07/27 Javascript
jQuery遍历节点树方法分析
2016/09/08 Javascript
js仿淘宝商品放大预览功能
2017/03/15 Javascript
Vue.js单向绑定和双向绑定实例分析
2018/08/14 Javascript
Vue.set()动态的新增与修改数据,触发视图更新的方法
2018/09/15 Javascript
vue如何获取自定义元素属性参数值的方法
2019/05/14 Javascript
微信小程序 简易计算器实现代码实例
2019/09/02 Javascript
js+canvas实现纸牌游戏
2020/03/16 Javascript
python实现类的静态变量用法实例
2015/05/08 Python
python利用拉链法实现字典方法示例
2017/03/25 Python
Python使用微信SDK实现的微信支付功能示例
2017/06/30 Python
python绘制铅球的运行轨迹代码分享
2017/11/14 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/26 Python
在python中bool函数的取值方法
2018/11/01 Python
flask框架jinja2模板与模板继承实例分析
2019/08/01 Python
Python&amp;&amp;GDAL实现NDVI的计算方式
2020/01/09 Python
python如何实现复制目录到指定目录
2020/02/13 Python
Python异常处理机制结构实例解析
2020/07/23 Python
Pytorch生成随机数Tensor的方法汇总
2020/09/09 Python
Django执行源生mysql语句实现过程解析
2020/11/12 Python
为世界各地的女性设计和生产时尚服装:ROMWE
2016/09/17 全球购物
巴西男士胡须和头发护理产品商店:Beard
2017/11/13 全球购物
YesBabyOnline美国:全球性的在线婚纱礼服工厂
2018/05/05 全球购物
德国药房apodiscounter中文官网:德国排名前三的网上药店
2019/06/03 全球购物
医院护士的求职信
2014/01/03 职场文书
个人课题方案
2014/05/08 职场文书
投标诚信承诺书
2014/05/26 职场文书
清明节演讲稿
2014/05/27 职场文书
经典毕业生求职信
2014/07/12 职场文书
CSS 实现磨砂玻璃(毛玻璃)效果样式
2023/05/21 HTML / CSS