激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務(wù)器之家 - 編程語(yǔ)言 - JavaScript - js教程 - js實(shí)現(xiàn)簡(jiǎn)單商品篩選功能

js實(shí)現(xiàn)簡(jiǎn)單商品篩選功能

2022-01-12 16:54~噓~禁止想象~ js教程

這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)商品篩選功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了js實(shí)現(xiàn)商品篩選功能的具體代碼,供大家參考,具體內(nèi)容如下

應(yīng)用場(chǎng)景:商品篩選

js實(shí)現(xiàn)簡(jiǎn)單商品篩選功能

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<!DOCTYPE html>
<html lang="en">
 
<head>
 <meta charset="UTF-8">
 <title>Document</title>
 <style type="text/css">
 * {
 margin: 0;
 padding: 0;
 list-style: none;
 text-decoration: none;
 }
 
 .choose {
 width: 500px;
 height: auto;
 margin: auto;
 }
 
 .choose nav {
 height: 50px;
 background-color: red;
 }
 
 .choose nav span {
 margin: 0 5px;
 }
 
 .choose .show {
 color: red;
 }
 
 .choose ul li {
 border: 1px solid black;
 }
 
 .choose ul li a {
 box-sizing: border-box;
 display: inline-block;
 width: 40px;
 border-left: 1px solid black;
 margin: 5px;
 padding-left: 5px;
 }
 </style>
</head>
 
<body>
 <div class="choose">
 <nav></nav>
 <ul>
 <li>
 <strong>手機(jī):</strong>
 <a href="javascript:;">小米</a>
 <a href="javascript:;">華為</a>
 <a href="javascript:;">apple</a>
 <a href="javascript:;">OPPO</a>
 <a href="javascript:;">vivo</a>
 </li>
 <li>
 <strong>價(jià)格:</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>
 </div>
</body>
 
</html>
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<script type="text/javascript">
 var li = document.querySelectorAll('li');
 var stack = []; //存放三個(gè)類別的option
 
 for (var i = 0; i < li.length; i++) {
 // 獲取每個(gè)li中的option進(jìn)行處理
 var options = li[i].querySelectorAll("a");
 for (var j = 0; j < options.length; j++) {
 // 當(dāng)選項(xiàng)被點(diǎn)擊時(shí),傳入點(diǎn)擊的類別是第幾個(gè)li的
 // options[j].onclick = Aclick.bind(options[j], [i]); //1. 將點(diǎn)擊事件分離出去
 options[j].onclick = Bclick(i); //2. 將點(diǎn)擊事件分離出去
 }
 }
</script>

當(dāng)寫(xiě)到這里的時(shí)候想要把這個(gè)事件函數(shù)分離出去,但是有參數(shù)。于是問(wèn)題出現(xiàn)

如何將一個(gè)帶參數(shù)的事件函數(shù)分離出去???

于是乎:就有了以下兩種方法

1、使用bind改變this指向后返回一個(gè)不執(zhí)行的函數(shù)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function Aclick(index) {
// 刪掉nav
var choose = document.querySelector('.choose');
var nav = document.querySelector(".choose nav");
 choose.removeChild(nav);
 
 // 使用stack重新添加
 stack[index] = this.innerHTML;
 var nav = document.createElement("nav");
 for (k = 0; k < stack.length; k++) {
 if (stack[k] != "" && stack[k] != undefined) { //略過(guò)stack中的空項(xiàng),重新向nav中添加span
  var span = document.createElement("span");
  var a = document.createElement("a");
  a.innerHTML = "X";
  a.href = "javascript:void(0);";
  span.innerHTML = stack[k];
  a.onclick = function() {
  stack[index] = "";
  nav.removeChild(this.parentNode);
  }
  span.appendChild(a);
  nav.appendChild(span);
 }
 }
 choose.insertBefore(nav, choose.children[0]);
}

2、在注冊(cè)函數(shù)外面套一層函數(shù)將注冊(cè)函數(shù)返回

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
function Bclick(index) {
 return function() {
 // 刪掉nav
 var choose = document.querySelector('.choose');
 var nav = document.querySelector(".choose nav");
 choose.removeChild(nav);
 
 // 使用stack重新添加
 stack[index] = this.innerHTML;
 var nav = document.createElement("nav");
 for (k = 0; k < stack.length; k++) {
  if (stack[k] != "" && stack[k] != undefined) { //略過(guò)stack中的空項(xiàng),重新向nav中添加span
  var span = document.createElement("span");
  var a = document.createElement("a");
  a.innerHTML = "X";
  a.href = "javascript:void(0);";
  span.innerHTML = stack[k];
  a.onclick = function() {
  stack[index] = "";
  nav.removeChild(this.parentNode);
  }
  span.appendChild(a);
  nav.appendChild(span);
  }
 }
 choose.insertBefore(nav, choose.children[0]);
 }
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://blog.csdn.net/weixin_45773503/article/details/113444599

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 草莓福利社区在线 | 久久艹国产精品 | 欧美精品一区二区视频 | 久久久婷婷一区二区三区不卡 | 美女视频黄a视频免费全过程 | 伊人欧美视频 | 羞羞色在线观看 | 黄色网址入口 | 久久青草热 | 日本看片一区二区三区高清 | 亚洲欧美国产高清 | 免费国产人成网站 | 国产美女自拍av | 爱操影视 | 久久人人爽人人爽人人片av免费 | 精品国产一区二区三区久久久狼牙 | 亚洲国产精品高潮呻吟久久 | 久久免费视频8 | 色婷婷一区二区三区 | 韩国草草影院 | 少妇一级淫片高潮流水电影 | 91视频观看| 久久福利剧场 | h色视频在线观看 | japanesexxxx24videofree | 成人免费毛片一 | 黄色网址免费入口 | 亚洲一区二区在线 | 91视频官网| 欧美精品一区二区三区在线 | 免费国产一级淫片 | 久久久久国 | 久久蜜桃香蕉精品一区二区三区 | 欧美日韩中文字幕在线 | 精品999久久久 | 黄色影院网站 | 日日噜噜噜夜夜狠狠久久蜜桃 | 国产女同玩人妖 | 男女污污视频网站 | 最新欧美精品一区二区三区 | 成人一级免费视频 |