我試圖讓這個當我點擊一個div所有其他的div成爲「取消」(即只選擇div的background-image
是不同的,別人得到復位原創),並且只有點擊被選中/激活。每個div都有獨立的開/關圖像。jQuery的:將所有其他分區的屬性,除了目前點擊DIV
http://jsfiddle.net/sergep/5QsCy/
該代碼具有大量的重複。我不確定如何處理「取消」所有其他div(除了活動的div)的想法,而不必使用更多的冗餘代碼。
反正是有整理(即概括和刪除冗餘)我的jsfiddle:
$(".gameboy").click(function() {
var img1 = "url(\"https://cdn3.iconfinder.com/data/icons/funky/136/Game-1-128.png\")";
var img2 = "url(\"https://cdn3.iconfinder.com/data/icons/funky/136/Game-2-128.png\")";
if ($(this).css("background-image") == img1) {
$(this).css("background-image", img2);
}
else {
$(this).css("background-image", img1);
}
});
$(".switch").click(function() {
var img1 = "url(\"https://cdn3.iconfinder.com/data/icons/mobiactions/512/turn_off_on_power-128.png\")";
var img2 = "url(\"http://icdn.pro/images/en/o/n/on-off-icone-4799-128.png\")";
if ($(this).css("background-image") == img1) {
$(this).css("background-image", img2);
}
else {
$(this).css("background-image", img1);
}
});
$(".face").click(function() {
var img1 = "url(\"https://cdn3.iconfinder.com/data/icons/glyph/227/Smile-128.png\")";
var img2 = "url(\"https://cdn3.iconfinder.com/data/icons/glyph/227/Pacman-1-128.png\")";
if ($(this).css("background-image") == img1) {
$(this).css("background-image", img2);
}
else {
$(this).css("background-image", img1);
}
});
在CSS中使用類並添加/使用JS刪除這些類,而不是以編程方式更改每個背景圖像。它會讓你的代碼更具可讀性。 – ahren