所以這就是我正在做的。每個元素都有一組默認的CSS,但我需要在點擊時對其進行修改。反向CSS更改完成我的jQuery
是否有簡單的方法來反轉由jQuery動作完成的更改?就像回滾默認設置樣式一樣?我手動執行此操作,但是我想自動執行此操作,但無需編碼任何硬編碼。
jQuery的
main.find('li').each(function() {
var sub1 = $(this);
if(sub1.has('ul').length > 0) {
var bg = sub1.css('background-image');
sub1.click(function() {
event.preventDefault();
event.stopPropagation();
if(!sub1.find('> ul').is(':visible')) {
sub1.css('border-bottom', '2px solid #E1E000');
sub1.css('background-image', 'url(img/square0.png)');
sub1.find('> a').css('color', '#D8A2DD');
}
else {
sub1.css('border-bottom', '2px solid transparent');
sub1.css('background-image', bg);
sub1.find('> a').css('color', '#fff');
}
sub1.find('> ul').toggle();
});
}
else {
sub1.click(function(event) {
event.stopPropagation();
});
}
});
CSS
.menu > li > ul > li {
text-transform: uppercase;
background-repeat: no-repeat;
background-position: left 0 top 5px;
}
.menu > li > ul > li:nth-child(3n+1) {
background-image: url(img/square1.png);
}
.menu > li > ul > li:nth-child(3n+2) {
background-image: url(img/square2.png);
}
.menu > li > ul > li:nth-child(3n+3) {
background-image: url(img/square3.png);
}
這可能是更容易簡單地添加和刪除點擊一類,並根據需要修改你的造型。 – 2015-04-01 17:59:57
由於某種原因,我無法完成這項工作,但我不確定爲什麼,我仍然必須擁有3個不同的類,並且我儘量避免編寫更多的類。 – HelpNeeder 2015-04-01 18:01:02
添加和刪除類很容易。撤銷類似「sub1.css('border-bottom','2px solid transparent');」並不容易,因爲JS不知道'border-bottom'以前的值是什麼,如果有的話。因此,該命令的「撤銷」將僅僅是刪除「邊界 - 底部」,這可能不是你想要的。 – 2015-04-01 18:02:01