簡體   English   中英

如何用jQuery覆蓋CSS

[英]how to overwrite css with jquery

我知道這段代碼可以正常工作,但是如何覆蓋.show(顯示:無)和背景顏色的CSS? 如果單擊已選擇的按鈕,則所有按鈕應為默認(藍色)顏色,並應顯示所有項目。 但背景顏色和顯示:無。 沒有出現。

 $(".category_item").click(function() { var category = $(this).attr("id"); if ($(this).hasClass("selected")) { $("#design, #motiongraphic, #photography").css("background-color", "green"); $(".design, .motiongraphic, .photography").show(); } //changes category and background-color if (category === "design") { $(".motiongraphic, .photography").hide(); $("#motiongraphic, #photography").css("background-color", "#313b50").removeClass("selected"); $(".design").show(); $("#design").css("background-color", "#d96b6e").addClass("selected"); } if (category === "motiongraphic") { $(".design, .photography").hide(); $("#design, #photography").css("background-color", "#313b50").removeClass("selected"); $(".motiongraphic").show(); $("#motiongraphic").css("background-color", "#47beb4").addClass("selected"); } if (category === "photography") { $(".design, .motiongraphic").hide(); $("#design, #motiongraphic").css("background-color", "#313b50").removeClass("selected"); $(".photography").show(); $("#photography").css("background-color", "#8a6bbe").addClass("selected"); } }); 
 div#i_buttons button { padding: 15px; margin: 0 2% 6% 2%; text-align: center; text-decoration: none; font-family: "Open Sans", serif; font-style: italic; font-size: 16px; width: 170px; background-color: #313b50; color: #d9d9d9; border: none; border-radius: 8px; transition-duration: 0.2s; -webkit-transition-duration: 0.2s; } div#i_buttons button:hover { cursor: pointer; } div#i_buttons button#design:hover { background-color: #d96b6e !important; } div#i_buttons button#motiongraphic:hover { background-color: #47beb4 !important; } div#i_buttons button#photography:hover { background-color: #8a6bbe !important; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <!-- Buttons --> <div id="i_buttons"> <button type="button" class="category_item" id="design">3D design</button> <button type="button" class="category_item" id="motiongraphic">motion graphics</button> <button type="button" class="category_item" id="photography">photography</button> </div> <!-- Gallery --> <div id="i_container"> <div id="i_grid"> <div class="i_cell design"> <a target="_blank" href="content.html"> <div class="overlay"></div><img src="img/3Ddesign.jpg" alt="Project 01"></a> </div> <div class="i_cell design"> <a target="_blank" href="content.html"> <div class="overlay"></div><img src="img/3Ddesign.jpg" alt="Project 02"></a> </div> <div class="i_cell design"> <a target="_blank" href="content.html"> <div class="overlay"></div><img src="img/3Ddesign.jpg" alt="Project 03"></a> </div> <div class="i_cell motiongraphic"> <a target="_blank" href="content.html"> <div class="overlay"></div><img src="img/MotionGraphics.jpg" alt="Project 04"></a> </div> <div class="i_cell motiongraphic"> <a target="_blank" href="content.html"> <div class="overlay"></div><img src="img/MotionGraphics.jpg" alt="Project 05"></a> </div> <div class="i_cell motiongraphic"> <a target="_blank" href="content.html"> <div class="overlay"></div><img src="img/MotionGraphics.jpg" alt="Project 06"></a> </div> <div class="i_cell photography"> <a target="_blank" href="content.html"> <div class="overlay"></div><img src="img/Photography.jpg" alt="Project 07"></a> </div> <div class="i_cell photography"> <a target="_blank" href="content.html"> <div class="overlay"></div><img src="img/Photography.jpg" alt="Project 08"></a> </div> <div class="i_cell photography"> <a target="_blank" href="content.html"> <div class="overlay"></div><img src="img/Photography.jpg" alt="Project 09"></a> </div> </div> </div> 

只需添加return; 在js的第7行中,並修復按鈕的背景色。 ;)

 $(".category_item").click(function() { var category = $(this).attr("id"); if ($(this).hasClass("selected")) { $("#design, #motiongraphic, #photography").css("background-color", "#313b50"); // <-- restore the original color $(".design, .motiongraphic, .photography").show(); return; // <-- need to return here so the below code doesn't run } //changes category and background-color if (category === "design") { $(".motiongraphic, .photography").hide(); $("#motiongraphic, #photography").css("background-color", "#313b50").removeClass("selected"); $(".design").show(); $("#design").css("background-color", "#d96b6e").addClass("selected"); } if (category === "motiongraphic") { $(".design, .photography").hide(); $("#design, #photography").css("background-color", "#313b50").removeClass("selected"); $(".motiongraphic").show(); $("#motiongraphic").css("background-color", "#47beb4").addClass("selected"); } if (category === "photography") { $(".design, .motiongraphic").hide(); $("#design, #motiongraphic").css("background-color", "#313b50").removeClass("selected"); $(".photography").show(); $("#photography").css("background-color", "#8a6bbe").addClass("selected"); } }); 
 div#i_buttons button { padding: 15px; margin: 0 2% 6% 2%; text-align: center; text-decoration: none; font-family: "Open Sans", serif; font-style: italic; font-size: 16px; width: 170px; background-color: #313b50; color: #d9d9d9; border: none; border-radius: 8px; transition-duration: 0.2s; -webkit-transition-duration: 0.2s; } div#i_buttons button:hover { cursor: pointer; } div#i_buttons button#design:hover { background-color: #d96b6e !important; } div#i_buttons button#motiongraphic:hover { background-color: #47beb4 !important; } div#i_buttons button#photography:hover { background-color: #8a6bbe !important; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <!-- Buttons --> <div id="i_buttons"> <button type="button" class="category_item" id="design">3D design</button> <button type="button" class="category_item" id="motiongraphic">motion graphics</button> <button type="button" class="category_item" id="photography">photography</button> </div> <!-- Gallery --> <div id="i_container"> <div id="i_grid"> <div class="i_cell design"> <a target="_blank" href="content.html"> <div class="overlay"></div><img src="img/3Ddesign.jpg" alt="Project 01"></a> </div> <div class="i_cell design"> <a target="_blank" href="content.html"> <div class="overlay"></div><img src="img/3Ddesign.jpg" alt="Project 02"></a> </div> <div class="i_cell design"> <a target="_blank" href="content.html"> <div class="overlay"></div><img src="img/3Ddesign.jpg" alt="Project 03"></a> </div> <div class="i_cell motiongraphic"> <a target="_blank" href="content.html"> <div class="overlay"></div><img src="img/MotionGraphics.jpg" alt="Project 04"></a> </div> <div class="i_cell motiongraphic"> <a target="_blank" href="content.html"> <div class="overlay"></div><img src="img/MotionGraphics.jpg" alt="Project 05"></a> </div> <div class="i_cell motiongraphic"> <a target="_blank" href="content.html"> <div class="overlay"></div><img src="img/MotionGraphics.jpg" alt="Project 06"></a> </div> <div class="i_cell photography"> <a target="_blank" href="content.html"> <div class="overlay"></div><img src="img/Photography.jpg" alt="Project 07"></a> </div> <div class="i_cell photography"> <a target="_blank" href="content.html"> <div class="overlay"></div><img src="img/Photography.jpg" alt="Project 08"></a> </div> <div class="i_cell photography"> <a target="_blank" href="content.html"> <div class="overlay"></div><img src="img/Photography.jpg" alt="Project 09"></a> </div> </div> </div> 

嘗試這個。

 $(".category_item").click(function() { var category = $(this).attr("id"); //$('.category_item#'+category).show(); $(".category_item").removeClass('is-active'); $('.i_cell').hide(); $(this).addClass('is-active'); $('.'+category).show(); }); 
 div#i_buttons button { padding: 15px; margin: 0 2% 6% 2%; text-align: center; text-decoration: none; font-family: "Open Sans", serif; font-style: italic; font-size: 16px; width: 170px; background-color: #313b50; color: #d9d9d9; border: none; border-radius: 8px; transition-duration: 0.2s; -webkit-transition-duration: 0.2s; } div#i_buttons button:hover { cursor: pointer; } div#i_buttons button#design.is-active, div#i_buttons button#design:hover { background-color: #d96b6e !important; } div#i_buttons button#motiongraphic.is-active, div#i_buttons button#motiongraphic:hover { background-color: #47beb4 !important; } div#i_buttons button#photography.is-active, div#i_buttons button#photography:hover { background-color: #8a6bbe !important; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <!-- Buttons --> <div id="i_buttons"> <button type="button" class="category_item" id="design">3D design</button> <button type="button" class="category_item" id="motiongraphic">motion graphics</button> <button type="button" class="category_item" id="photography">photography</button> </div> <!-- Gallery --> <div id="i_container"> <div id="i_grid"> <div class="i_cell design"> <a target="_blank" href="content.html"> <div class="overlay"></div><img src="img/3Ddesign.jpg" alt="Project 01"></a> </div> <div class="i_cell design"> <a target="_blank" href="content.html"> <div class="overlay"></div><img src="img/3Ddesign.jpg" alt="Project 02"></a> </div> <div class="i_cell design"> <a target="_blank" href="content.html"> <div class="overlay"></div><img src="img/3Ddesign.jpg" alt="Project 03"></a> </div> <div class="i_cell motiongraphic"> <a target="_blank" href="content.html"> <div class="overlay"></div><img src="img/MotionGraphics.jpg" alt="Project 04"></a> </div> <div class="i_cell motiongraphic"> <a target="_blank" href="content.html"> <div class="overlay"></div><img src="img/MotionGraphics.jpg" alt="Project 05"></a> </div> <div class="i_cell motiongraphic"> <a target="_blank" href="content.html"> <div class="overlay"></div><img src="img/MotionGraphics.jpg" alt="Project 06"></a> </div> <div class="i_cell photography"> <a target="_blank" href="content.html"> <div class="overlay"></div><img src="img/Photography.jpg" alt="Project 07"></a> </div> <div class="i_cell photography"> <a target="_blank" href="content.html"> <div class="overlay"></div><img src="img/Photography.jpg" alt="Project 08"></a> </div> <div class="i_cell photography"> <a target="_blank" href="content.html"> <div class="overlay"></div><img src="img/Photography.jpg" alt="Project 09"></a> </div> </div> </div> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM