溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

jquery如何實現(xiàn)篩選功能

發(fā)布時間:2021-11-22 11:34:18 來源:億速云 閱讀:193 作者:小新 欄目:web開發(fā)

這篇文章主要介紹jquery如何實現(xiàn)篩選功能,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

jquery實現(xiàn)篩選功能的方法:1、使用jquery的appendTo讓點擊的元素加入到列出項里面;2、通過jquery的clone函數(shù)實現(xiàn)直接移除屬性列表里面的內(nèi)容即可。

本文操作環(huán)境:Windows7系統(tǒng)、jquery3.2.1、Dell G3電腦。

jquery 實現(xiàn)篩選功能。

商品屬性篩選

商品的屬性篩選 是一個十分常見的功能,通常是同一類型的屬性只能選擇一個。例如 價格范圍,或者品牌,為了使選擇的內(nèi)容看上去更直觀 ,一般都會將選擇項列出,并擁有點擊取消 選擇 ,點擊同類替換的功能。

在下面給出兩個完整實現(xiàn)。

實現(xiàn)1:

使用jquery 的appendTo  讓點擊的元素加入到列出項里面 (同時檢測列出項是否有同一類的元素,有則替換出來,使它返回原列表),

在列出項里面點擊元素 ,則返回 原div ,這里為了實現(xiàn) 返回原來的div 使用了自定義屬性 。

自然這個實現(xiàn)是有一定的問題,由于限制了div 的class 和父元素的id 一致,這種情況很不方便 ,

而且每一次都會需要重新綁定所有事件,一個遞歸。效率上有所欠缺,

接下來看第二種思路 ,更簡單清晰一點。效率會更高一點,而且不需要id 和class 相同 ,也無需重新綁定多個事件

<!DOCTYPE html>
<html>
<head>
  <title>動畫</title>
  <style type="text/css">
    .class1,.class2{
        width: 100px;
        height: 40px;
        margin: 10px;
    }
    #count{
        background-color: sandybrown;
        width: 400px;
        height: 200px;
    }
  </style>
</head>
<body>
<div id='class1'>
    <button class="class1" data-belong="class1">皮鞋</button>
    <button class="class1" data-belong="class1">涼鞋</button>
    <button class="class1" data-belong="class1">拖鞋</button>
</div>
<div id="class2">
    <button class="class2" data-belong="class2">手套</button>
    <button class="class2" data-belong="class2">皮手套</button>
    <button class="class2" data-belong="class2">毛手套</button>
</div>
<div id="count"></div>
</body>
</html>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript">
(function check(){
    $('#class1> button,#class2>button').off("click").on("click",function(){
        $("#count button."+$(this).attr("data-belong")).appendTo("#"+$(this).attr("data-belong"));
        $(this).appendTo("#count");
        check()
})
    $('#count  button').off("click").on("click",function(){
        $(this).appendTo("#"+$(this).attr("data-belong"))
        check()
    })
})()
</script>

實現(xiàn)2:

使用jquery的clone 函數(shù) ,這樣原列表就不會需要改動 ,點擊 屬性列表里面的內(nèi)容只需要直接移除,不需要id 和 class一致。

更自由一些 。代碼減少了,沒有遞歸的,沒有數(shù)據(jù)修改綁定的問題,比實現(xiàn)1 優(yōu)化很多

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <style type="text/css">
    .class1,.class2{
        width: 100px;
        height: 40px;
        margin: 10px;
    }
    #count{
        background-color: sandybrown;
        width: 400px;
        height: 200px;
    }
    </style>
    <body>
        <div>
            <button class="class1" data-belong="class1">皮鞋</button>
            <button class="class1" data-belong="class1">涼鞋</button>
            <button class="class1" data-belong="class1">拖鞋</button>
        </div>
        <div>
            <button class="class2" data-belong="class2">手套</button>
            <button class="class2" data-belong="class2">皮手套</button>
            <button class="class2" data-belong="class2">毛手套</button>
        </div>
    <div class="count">
    </div>
    </body>
</html>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript">
//只需保持 button 的 class 標志 和data-belong  一致即可。
    $("div:lt(2) button").click(function(){
        $("div.count ."+$(this).attr('data-belong')).remove();
        $(this).clone().appendTo("div.count");
        $('.count button').off("click").on("click",function(){
            $(this).remove();
    })
    })
</script>

以上是“jquery如何實現(xiàn)篩選功能”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI