小編給大家分享一下js如何實現(xiàn)簡單商品篩選功能,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
目前創(chuàng)新互聯(lián)已為上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、綿陽服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、涼城網(wǎng)站維護等服務(wù),公司將堅持客戶導向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。js實現(xiàn)商品篩選功能的具體代碼如下
應(yīng)用場景:商品篩選
Document
當寫到這里的時候想要把這個事件函數(shù)分離出去,但是有參數(shù)。于是問題出現(xiàn)
如何將一個帶參數(shù)的事件函數(shù)分離出去???
于是乎:就有了以下兩種方法
1、使用bind改變this指向后返回一個不執(zhí)行的函數(shù)
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) { //略過stack中的空項,重新向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、在注冊函數(shù)外面套一層函數(shù)將注冊函數(shù)返回
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) { //略過stack中的空項,重新向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]); } }
看完了這篇文章,相信你對“js如何實現(xiàn)簡單商品篩選功能”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!