Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Повторяющийся код.Оптимизация скрипта. (https://javascript.ru/forum/misc/7665-povtoryayushhijjsya-kod-optimizaciya-skripta.html)

Игорь87 13.02.2010 17:13

Повторяющийся код.Оптимизация скрипта.
 
Здравствуйте!Помогите разобраться!
Вот есть функции
function showContent0(link) {
var cont = document.getElementById('contentBody0');
третья строка...
четвертая строка...
пятая строка...
...
}
function showContent1(link) {
var cont = document.getElementById('contentBody1');
третья строка...
четвертая строка...
пятая строка...
...
}

Вот есть очень много таких функций,в которых первые две строки разные,а вот остальные одинаковые во всех функциях(этих строк тоже много)!!!!!
Как можно вывести повторяющие строки в отдельную функцию?Вот на php я бы без труда эту задачу решил.А вот js не уделял внимания,вот сейчас поплатился...
Хочу уменьшить скрипт.Сейчас он весит 38 кб,ну я думаю,если поможете,то он не более 6 кб будет весить.
Пробовал так:
Так НЕ РАБОТАЕТ!
Создавал функцию:
function stroki(){
третья строка...
четвертая строка...
пятая строка...
}
function showContent0(link) {
var cont = document.getElementById('contentBody0');
stroki();
}
function showContent1(link) {
var cont = document.getElementById('contentBody1');
stroki();
}

Так НЕ РАБОТАЕТ!
Спасибо!

Мараторий 13.02.2010 18:08

А зачем городить кучу функций?
function showContent(n, link) {
  var cont = document.getElementById('contentBody'+n);
  //...
}

Игорь87 13.02.2010 21:04

Нет,нет Мараторий:no:
!У меня много Php вставок,и Ваше решение моей проблемы не приемлемо в данном случае!Я выложил лишь часть кода!Уважаемые,если у Вас есть ответ,пишите!Буду очень благодарен!Если нет ответа на поставленный вопрос,а есть предложение о модификации самого скрипта,типа предложений Мараторий,то не утруждайте себя!Мне нужно оптимизировать уже работающий скрипт,т.е сделать его размерность в нескольео раз меньше!Спасибо!

Octane 13.02.2010 21:15

Цитата:

Сообщение от Игорь87
Если нет ответа на поставленный вопрос,а есть предложение о модификации самого скрипта,типа предложений Мараторий,то не утруждайте себя!

Игорь87,
предлагаю вам не утруждать нас вашим говнокодом.

limonad 13.02.2010 21:33

Раз так, то может поможет в саму функцию stroki() cont и link передавать?

Игорь87 13.02.2010 21:38

ГавноOctane,Вы наверное разучились читать!Повторяюсь,если нет прямого ответа,то не утруждайте себя!Всем остальным большое спасибо!

Игорь87 13.02.2010 21:41

limonad,спасибо за предложение,сейчас попробую...

Мараторий 13.02.2010 23:39

Цитата:

Сообщение от Игорь87 (Сообщение 44700)
limonad,спасибо за предложение,сейчас попробую...

И чем это отличается от предложенного мной способа?

Игорь87 13.02.2010 23:49

Хорошо limonad,а как тогда передать значение n,если из хтмль вот такие ссылки
<a href="#" onclick="showContent0('color_scheme_website/block1_shapka_verh.php?style=1');
...
<a href="#" onclick="showContent1('color_scheme_website/block1_shapka_verh.php?style=1');
...

как передать значение n?Как видишь в Php я передаю значения
?style=1

подскажи пожалуйста как в js передать!Спасибо!

limonad 14.02.2010 09:53

Опишите функцию stroki так:
function stroki(cont, link) {
//... тут все как и было ...
}

а в ваших функциях вызывайте ее так :
function showContent0(link) {
var cont = document.getElementById('contentBody0');
stroki(cont, link);
}

таким образом, в параметре link функции stroki, будет содержаться переданный вами link в функциях showContent:
'color_scheme_website/block1_shapka_verh.php?style=1'


Часовой пояс GMT +3, время: 13:35.