Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.03.2013, 15:04
Аспирант
Отправить личное сообщение для webmanss Посмотреть профиль Найти все сообщения от webmanss
 
Регистрация: 17.02.2013
Сообщений: 34

Оптимизировать код
Привет всем!
Есть много похожего кода, вопрос в том, чтобы его уменьшить.

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
...
}


вобщем нужно управлять стилями и классами блоков.
Как это можно решить иначе?
Ответить с цитированием
  #2 (permalink)  
Старый 07.03.2013, 15:33
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

jQuery? Короткие имена методов, цепочки вызовов - все это позволит ужать код в две - три строчки )
Ответить с цитированием
  #3 (permalink)  
Старый 07.03.2013, 17:52
Аспирант
Отправить личное сообщение для webmanss Посмотреть профиль Найти все сообщения от webmanss
 
Регистрация: 17.02.2013
Сообщений: 34

Я понимаю, что спасение утопающих, дело рук самих утопающих).
Но хочется продуктивной помощи.
Есть примеры, как сделать?
Ответить с цитированием
  #4 (permalink)  
Старый 07.03.2013, 18:01
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Конечно есть. Много, очень много примеров.
Ответить с цитированием
  #5 (permalink)  
Старый 07.03.2013, 18:02
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Хотя зря я jQuery посоветовал. Это не избавит от проблемы говнокода. Просто позволит его ужать в объеме )
От этого он понятнее и рациональней не станет ) Только тормознее.
Ответить с цитированием
  #6 (permalink)  
Старый 07.03.2013, 18:04
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от webmanss
document.getElementById('osn-avto').fireEvent('change')
Мутулз чтоли? Чем не инструмент? Хотя тут поглобальнее проблемы.
Ответить с цитированием
  #7 (permalink)  
Старый 07.03.2013, 18:21
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Создать основной массив установок
var arr=[
id,key,value,
id,key,value,
...
id,key,value
]

, в массиве от условий(id) менять параметры, arr[3*Номер строки+Номер эл-та в строке]
и вызывать единственную функцию установки параметров модифицированного массива

Последний раз редактировалось Deff, 07.03.2013 в 18:26.
Ответить с цитированием
  #8 (permalink)  
Старый 07.03.2013, 18:59
Аспирант
Отправить личное сообщение для jsjob Посмотреть профиль Найти все сообщения от jsjob
 
Регистрация: 30.01.2009
Сообщений: 42

А зачем?
Если у вас хватило сил это всё написать, то у кампутера уж точно хватит чтоб выполнить.
Ответить с цитированием
  #9 (permalink)  
Старый 07.03.2013, 21:25
Аспирант
Отправить личное сообщение для webmanss Посмотреть профиль Найти все сообщения от webmanss
 
Регистрация: 17.02.2013
Сообщений: 34

Вот, другое дело) Всем спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как оптимизировать код titans jQuery 5 27.04.2012 10:42
Оптимизировать код adrian16 Events/DOM/Window 9 09.06.2011 16:42
Оптимизировать код vazerdim jQuery 7 14.03.2011 13:42
Помогите код оптимизировать. Suharik Events/DOM/Window 2 27.05.2010 11:59
Помогите оптимизировать код. pizzZ jQuery 5 17.11.2009 23:52