Оптимизировать код
Привет всем!
Есть много похожего кода, вопрос в том, чтобы его уменьшить.
function selekt(id) {
if(id == "ruchnoe")
document.getElementById('sel-avto').className = "not-select";
document.getElementById('not-sel').className = "not-select";
document.getElementById(id).className = "select";
document.getElementById('tr1').style.dysplay = "none";
document.getElementById('tr2').style.dysplay = "none";
document.getElementById('tr3').style.dysplay = "none";
document.getElementById('tr4').style.dysplay = "block";
document.getElementById('osn-ruch').checked='checked';
document.getElementById('osn-ruch').fireEvent('change');
}
else if(id == "avto")
document.getElementById('not-sel').className = "not-select";
document.getElementById('sel-prof').className = "not-select";
document.getElementById(id).className = "select";
document.getElementById('tr1').style.dysplay = "none";
document.getElementById('tr2').style.dysplay = "none";
document.getElementById('tr3').style.dysplay = "block";
document.getElementById('tr4').style.dysplay = "none";
document.getElementById('osn-avto').checked='checked';
document.getElementById('osn-avto').fireEvent('change');
}
...
else if
else if
else if
...
}
вобщем нужно управлять стилями и классами блоков. Как это можно решить иначе? |
jQuery? Короткие имена методов, цепочки вызовов - все это позволит ужать код в две - три строчки )
|
Я понимаю, что спасение утопающих, дело рук самих утопающих).
Но хочется продуктивной помощи. Есть примеры, как сделать? |
Конечно есть. Много, очень много примеров.
|
Хотя зря я jQuery посоветовал. Это не избавит от проблемы говнокода. Просто позволит его ужать в объеме )
От этого он понятнее и рациональней не станет ) Только тормознее. |
Цитата:
|
Создать основной массив установок
var arr=[ id,key,value, id,key,value, ... id,key,value ] , в массиве от условий(id) менять параметры, arr[3*Номер строки+Номер эл-та в строке] и вызывать единственную функцию установки параметров модифицированного массива |
А зачем?
Если у вас хватило сил это всё написать, то у кампутера уж точно хватит чтоб выполнить. ;) |
Вот, другое дело) Всем спасибо!
|
| Часовой пояс GMT +3, время: 03:05. |