2015-11-17 64 views
0

我在這裏很難用一些js/jQuery編碼... 我通過一個按鈕同時向我的所有類別發送了一條消息,並且還單獨向他們發送了一條消息。JS/jQuery多個類別同時切換(+/-),也是個別切換個別類別(+/-)

但是我確實遇到了+/-圖標的問題,它就像是一個用戶界面,表示類似它的關閉或打開的類別。 如果我單獨訪問每個功能,沒有任何問題,但如果我混合使用功能,例如它會說它已關閉的類別(不顯示任何內容),並且我有( - 是摺疊)而不是(+展開)

這裏是我的代碼:

//individual toogle of category 
$(".inside-cgs_main").on("click", function() { 

    if ($(this).hasClass("fa-plus")) { 
     $(this).removeClass("fa-plus").addClass("fa-minus"); 
    } else { 
     $(this).removeClass("fa-minus").addClass("fa-plus"); 
    } 

    $(this).closest("div").find('.single-category-content').toggle(1000); 
}); 

//all cats toogle 
document.getElementById("toggle-category").addEventListener("click", function() { 

    if ($('.single-category > .inside-cgs_main').hasClass("fa-plus")) { 
     $('.single-category > .inside-cgs_main').removeClass("fa-plus").addClass("fa-minus"); 
    } else { 
     $('.single-category > .inside-cgs_main').removeClass("fa-minus").addClass("fa-plus"); 
    } 

    $(".single-category-content").toggle(1000); 
    $(this).addClass("my-button-selected"); 
    $(this).siblings().removeClass("my-button-selected"); 

}); 

主要貓

我也有一個單獨的+/- 和toogles所有這些

的按鈕

我可以使用循環或其他東西!

意見可能會有所幫助,所以請... :)

乾杯! :d

+0

顯示迄今爲止所做的一切!請添加一個jsfiddle。 – deepakb

+0

好的,會做,並會回來! :) –

+0

只要注意'if'語句只檢查第一個類別。如果你想對所有類別做這個,你必須使用'each'。無論如何,我建議插入'$(「。single-category-content」)。toggle(1000);'到'if'並做'slideUp'和'slideDown',這樣你就可以確定圖標和內容將得到協調。 –

回答

0

的問題是在這裏

if ($('.single-category > .inside-cgs_main').hasClass("fa-plus")) { 

這個 「如果」 只檢查的第一個元素。你應該這樣做

$('.single-category > .inside-cgs_main').each(fucntion() { 
    if ($(this).hasClass("fa-plus")) { 
    $(this).removeClass("fa-plus").addClass("fa-minus"); 
    } else { 
    $(this).removeClass("fa-minus").addClass("fa-plus"); 
    } 
}); 

現在你會有另一個問題。這改變了每個「+」在「 - 」和eveny「 - 」在「+」 這是你真正想要的嗎?簡單地「倒置」「選擇」?

+0

謝謝你們!我所需要的全部都是你在這裏所說的每一個......非常感謝你的幫助!成功! :d –