我能夠得到一個合適的答案來編輯上一個問題中的程式碼。
上一個問題的連結: 新增和刪除多個元素的類別
現在我已經開發了先前的程式碼,並添加了內容,當點擊圖示時,其內容將被顯示或隱藏。
此程式碼的問題在於,透過點擊任何可用圖標,所有圖標的內容都會顯示或隱藏。
但這不是我想要的。我想透過點擊每個圖示來顯示對應的內容,而點擊另一個圖示時,所有的內容都會被隱藏,只顯示與被點擊的圖示相關的內容。
$('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>
因此,您也想刪除其他內容,如果打開了另一個內容,您只需添加一行程式碼:
一旦另一行打開,上面的行就會刪除或隱藏其他內容。
這是示範: