Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.02.2010, 17:13
Интересующийся
Отправить личное сообщение для Игорь87 Посмотреть профиль Найти все сообщения от Игорь87
 
Регистрация: 13.02.2010
Сообщений: 10

Повторяющийся код.Оптимизация скрипта.
Здравствуйте!Помогите разобраться!
Вот есть функции
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();
}

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

Последний раз редактировалось Игорь87, 13.02.2010 в 17:35.
Ответить с цитированием
  #2 (permalink)  
Старый 13.02.2010, 18:08
Аватар для Мараторий
Кандидат Javascript-наук
Отправить личное сообщение для Мараторий Посмотреть профиль Найти все сообщения от Мараторий
 
Регистрация: 22.01.2010
Сообщений: 114

А зачем городить кучу функций?
function showContent(n, link) {
  var cont = document.getElementById('contentBody'+n);
  //...
}
Ответить с цитированием
  #3 (permalink)  
Старый 13.02.2010, 21:04
Интересующийся
Отправить личное сообщение для Игорь87 Посмотреть профиль Найти все сообщения от Игорь87
 
Регистрация: 13.02.2010
Сообщений: 10

Нет,нет Мараторий
!У меня много Php вставок,и Ваше решение моей проблемы не приемлемо в данном случае!Я выложил лишь часть кода!Уважаемые,если у Вас есть ответ,пишите!Буду очень благодарен!Если нет ответа на поставленный вопрос,а есть предложение о модификации самого скрипта,типа предложений Мараторий,то не утруждайте себя!Мне нужно оптимизировать уже работающий скрипт,т.е сделать его размерность в нескольео раз меньше!Спасибо!
Ответить с цитированием
  #4 (permalink)  
Старый 13.02.2010, 21:15
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от Игорь87
Если нет ответа на поставленный вопрос,а есть предложение о модификации самого скрипта,типа предложений Мараторий,то не утруждайте себя!
Игорь87,
предлагаю вам не утруждать нас вашим говнокодом.
Ответить с цитированием
  #5 (permalink)  
Старый 13.02.2010, 21:33
Аспирант
Отправить личное сообщение для limonad Посмотреть профиль Найти все сообщения от limonad
 
Регистрация: 22.01.2010
Сообщений: 51

Раз так, то может поможет в саму функцию stroki() cont и link передавать?
Ответить с цитированием
  #6 (permalink)  
Старый 13.02.2010, 21:38
Интересующийся
Отправить личное сообщение для Игорь87 Посмотреть профиль Найти все сообщения от Игорь87
 
Регистрация: 13.02.2010
Сообщений: 10

ГавноOctane,Вы наверное разучились читать!Повторяюсь,если нет прямого ответа,то не утруждайте себя!Всем остальным большое спасибо!
Ответить с цитированием
  #7 (permalink)  
Старый 13.02.2010, 21:41
Интересующийся
Отправить личное сообщение для Игорь87 Посмотреть профиль Найти все сообщения от Игорь87
 
Регистрация: 13.02.2010
Сообщений: 10

limonad,спасибо за предложение,сейчас попробую...
Ответить с цитированием
  #8 (permalink)  
Старый 13.02.2010, 23:39
Аватар для Мараторий
Кандидат Javascript-наук
Отправить личное сообщение для Мараторий Посмотреть профиль Найти все сообщения от Мараторий
 
Регистрация: 22.01.2010
Сообщений: 114

Сообщение от Игорь87 Посмотреть сообщение
limonad,спасибо за предложение,сейчас попробую...
И чем это отличается от предложенного мной способа?
Ответить с цитированием
  #9 (permalink)  
Старый 13.02.2010, 23:49
Интересующийся
Отправить личное сообщение для Игорь87 Посмотреть профиль Найти все сообщения от Игорь87
 
Регистрация: 13.02.2010
Сообщений: 10

Хорошо 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 передать!Спасибо!
Ответить с цитированием
  #10 (permalink)  
Старый 14.02.2010, 09:53
Аспирант
Отправить личное сообщение для limonad Посмотреть профиль Найти все сообщения от limonad
 
Регистрация: 22.01.2010
Сообщений: 51

Опишите функцию 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'
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Повторное действие скрипта через определенное время fortitudo jQuery 8 27.01.2010 06:00
Круговорт скрипта.... Karl Общие вопросы Javascript 1 17.10.2009 15:37
Блок переключения меню на JS, два скрипта в одном файле Dizeloid Элементы интерфейса 0 30.07.2009 12:03
Вызов скрипта в теле всплывающего окна на Javascript demchenko Я не знаю javascript 2 10.06.2009 10:46
как прекратить выполнение скрипта ? kefi Общие вопросы Javascript 3 31.03.2009 19:05