首頁  >  問答  >  主體

新增和刪除多個元素的類別(JQuery 和 JavaScript)

我能夠得到一個合適的答案來編輯上一個問題中的程式碼。

上一個問題的連結: 新增和刪除多個元素的類別

現在我已經開發了先前的程式碼,並添加了內容,當點擊圖示時,其內容將被顯示或隱藏。

此程式碼的問題在於,透過點擊任何可用圖標,所有圖標的內容都會顯示或隱藏。

但這不是我想要的。我想透過點擊每個圖示來顯示對應的內容,而點擊另一個圖示時,所有的內容都會被隱藏,只顯示與被點擊的圖示相關的內容。

$('body').on('click', '.icon_product', function() {
    $(this).toggleClass("change_icon-product");
    $(this).parent().siblings().find('.icon_product').removeClass("change_icon-product");

    $(this).find(".txt-content").toggleClass("Toggle_txt-content");
 });
.icon_product {
    display: inline-block;
    cursor: pointer;
    position: relative;
    padding: 15px;
    margin-top: 0px;
}

.icon-line1_product,
.icon-line2_product {
    width: 35px;
    height: 5px;
    background-color: #f00;
    margin: 6px 0;
    border-radius: 10px;
    transition: all 0.6s ease-in-out;
    -webkit-transition: all 0.6s ease-in-out;
    -moz-transition: all 0.6s ease-in-out;
    -o-transition: all 0.6s ease-in-out;
    -ms-transition: all 0.6s ease-in-out;
}

.icon-line2_product {
    transform: rotate(90deg) translate(-11px, 0px);
    -webkit-transform: rotate(90deg) translate(-11px, 0px);
    -moz-transform: rotate(90deg) translate(-11px, 0px);
    -o-transform: rotate(90deg) translate(-11px, 0px);
    -ms-transform: rotate(90deg) translate(-11px, 0px);
}

.change_icon-product .icon-line1_product {
    transform: rotate(45deg) translate(8px, 0px);
    -webkit-transform: rotate(45deg) translate(8px, 0px);
    -moz-transform: rotate(45deg) translate(8px, 0px);
    -o-transform: rotate(45deg) translate(8px, 0px);
    -ms-transform: rotate(45deg) translate(8px, 0px);
}

.change_icon-product .icon-line2_product {
    transform: rotate(-45deg) translate(8px, 0px);
    -webkit-transform: rotate(-45deg) translate(8px, 0px);
    -moz-transform: rotate(-45deg) translate(8px, 0px);
    -o-transform: rotate(-45deg) translate(8px, 0px);
    -ms-transform: rotate(-45deg) translate(8px, 0px);
}


/* 
*
*
*
 */

.txt-content {
    display: none;
}

.Toggle_txt-content {
    display: block;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<section>

        <div class="main-content_product">
            <div class="icon_product">
                <div class="icon-line1_product test"></div>
                <div class="icon-line2_product test"></div>

                <div class="txt-content">
                    <h3>Lorem ipsum</h3>
                    <p>
                        Lorem ipsum, dolor sit amet consectetur adipisicing elit. Alias suscipit necessitatibus nobis
                        harum voluptatum fuga, nam tempore exercitationem dolore placeat.
                    </p>
                </div>

            </div>
        </div>

        <div class="main-content_product">
            <div class="icon_product">
                <div class="icon-line1_product test"></div>
                <div class="icon-line2_product test"></div>

                <div class="txt-content">
                    <h3>Lorem ipsum</h3>
                    <p>
                        Lorem ipsum, dolor sit amet consectetur adipisicing elit. Alias suscipit necessitatibus nobis
                        harum voluptatum fuga, nam tempore exercitationem dolore placeat.
                    </p>
                </div>

            </div>
        </div>

        <div class="main-content_product">
            <div class="icon_product">
                <div class="icon-line1_product test"></div>
                <div class="icon-line2_product test"></div>

                <div class="txt-content">
                    <h3>Lorem ipsum</h3>
                    <p>
                        Lorem ipsum, dolor sit amet consectetur adipisicing elit. Alias suscipit necessitatibus nobis
                        harum voluptatum fuga, nam tempore exercitationem dolore placeat.
                    </p>
                </div>

            </div>
        </div>

    </section>

P粉042455250P粉042455250236 天前387

全部回覆(1)我來回復

  • P粉359850827

    P粉3598508272024-02-26 11:25:02

    因此,您也想刪除其他內容,如果打開了另一個內容,您只需添加一行程式碼:

    $(this).parent().siblings().find('.txt-content').removeClass("Toggle_txt-content");

    一旦另一行打開,上面的行就會刪除或隱藏其他內容。

    這是示範:

    $('body').on('click', '.icon_product', function() {
        $(this).toggleClass("change_icon-product");
        $(this).parent().siblings().find('.icon_product').removeClass("change_icon-product");
        $(this).find(".txt-content").toggleClass("Toggle_txt-content");
        $(this).parent().siblings().find('.txt-content').removeClass("Toggle_txt-content");
     });
    body {
      background: transparent; /* Make it white if you need */
      color: #fcbe24;
      padding: 0 24px;
      margin: 0;
      height: 100vh;
      display: flex;
      justify-content: center;
      align-items: center;
      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    }
    
    .icon_product {
        display: inline-block;
        cursor: pointer;
        position: relative;
        padding: 15px;
        margin-top: 0px;
    }
    
    .icon-line1_product,
    .icon-line2_product {
        width: 35px;
        height: 5px;
        background-color: #f00;
        margin: 6px 0;
        border-radius: 10px;
        transition: all 0.6s ease-in-out;
        -webkit-transition: all 0.6s ease-in-out;
        -moz-transition: all 0.6s ease-in-out;
        -o-transition: all 0.6s ease-in-out;
        -ms-transition: all 0.6s ease-in-out;
    }
    
    .icon-line2_product {
        transform: rotate(90deg) translate(-11px, 0px);
        -webkit-transform: rotate(90deg) translate(-11px, 0px);
        -moz-transform: rotate(90deg) translate(-11px, 0px);
        -o-transform: rotate(90deg) translate(-11px, 0px);
        -ms-transform: rotate(90deg) translate(-11px, 0px);
    }
    
    .change_icon-product .icon-line1_product {
        transform: rotate(45deg) translate(8px, 0px);
        -webkit-transform: rotate(45deg) translate(8px, 0px);
        -moz-transform: rotate(45deg) translate(8px, 0px);
        -o-transform: rotate(45deg) translate(8px, 0px);
        -ms-transform: rotate(45deg) translate(8px, 0px);
    }
    
    .change_icon-product .icon-line2_product {
        transform: rotate(-45deg) translate(8px, 0px);
        -webkit-transform: rotate(-45deg) translate(8px, 0px);
        -moz-transform: rotate(-45deg) translate(8px, 0px);
        -o-transform: rotate(-45deg) translate(8px, 0px);
        -ms-transform: rotate(-45deg) translate(8px, 0px);
    }
    
    
    /*
    *
    *
    *
     */
    
    .txt-content {
        display: none;
    }
    
    .Toggle_txt-content {
        display: block;
    }
    
    

    洛雷姆·伊普蘇姆

    客戶本人,客戶將能夠追求公司的發展。他為我們滿足其他需求 這些快樂的消失,因為隨著時間的推移,訓練應該會使痛苦變得愉快。

    洛雷姆·伊普蘇姆

    客戶本人,客戶將能夠追求公司的發展。他為我們滿足其他需求 這些快樂的消失,因為隨著時間的推移,訓練應該會使痛苦變得愉快。

    洛雷姆·伊普蘇姆

    客戶本人,客戶將能夠追求公司的發展。他為我們滿足其他需求 這些快樂的消失,因為隨著時間的推移,訓練應該會使痛苦變得愉快。

    #

    回覆
    0
  • 取消回覆