Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> объеденить две функции в одну 
:(
    Опции темы
Alx
Дата 1.11.2004, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



в последнее время я очень беспокоюсь за свои умственные способности! голова совсем не варит, ни на чём не могу сосредоточится! вот пишу скрипт:

Код

<script>
var all = ["x3m",];
all[1] = ["Пункт 1","дтл","имж"];
all[1][1] = ["Пункт 1_1"];
all[1][2] = ["Пункт 1_2"];
all[1][3] = ["Пункт 1_3"];
all[1][3][1] = ["Пункт 1_3_1"];
all[1][3][2] = ["Пункт 1_3_2"];

all[2] = ["Пункт 2"];

all[3] = ["Пункт 3"];
all[3][1] = ["Пункт 3_1"];
all[3][2] = ["Пункт 3_2"];
all[3][2][1] = ["Пункт 3_2_1"];
all[3][2][2] = ["Пункт 3_2_2"];
all[3][2][3] = ["Пункт 3_2_3"];
all[3][2][3][1] = ["Пункт 3_2_3_1"];
all[3][2][3][2] = ["Пункт 3_2_3_2"];
all[3][2][4] = ["Пункт 3_2_4"];
all[3][3] = ["Пункт 3_3"];

writeMain()

function writeMain()
{for (var i=1; i<all.length; i++)
{document.write(all[i][0] + "<br>");
if (all[i].length > 1)
{document.write(writeSub(all[i],1))
}
}
}

function writeSub(theVar,koren)
{var res = "";
var nbsps = "";
for (var k=1; k<=koren; k++)
{nbsps += "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
}
for (var j=1; j<theVar.length; j++)
{res += nbsps + "" + theVar[j][0] + "<br>";
if (theVar[j].length > 1)
{res += writeSub(theVar[j],k++);
}
}
return res;
}

</script>


и не могу объеденить 2 функции в одну! Одна пишет самые верхние разделы, вторая все остальные. Может кто напишет?


--------------------
PM MAIL WWW ICQ   Вверх
Sardar
Дата 1.11.2004, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Обьясни мне вот этод код:
Код

all[1] = ["Пункт 1","дтл","имж"];
all[1][1] = ["Пункт 1_1"];
all[1][2] = ["Пункт 1_2"];


А еще лучше подумай в целом что ты сделал и сделал ли ты меню удобным и понятным. ;-)
Еще подумай кто будет это меню создавать: генерится на сервере, собирается ручками статичное меню. В первом случае генери сразу разметку, в другом придумаем тебе удобный интерфейс. Скинь весь код.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Alx
Дата 2.11.2004, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Sardar
это я случайно не совсем то выложил -

Код

all[1] = ["Пункт 1"];
all[1][1] = ["Пункт 1_1"];
all[1][2] = ["Пункт 1_2"];


а вообше, я ж пока меню даже не начинал делать! просто в отдельный файл создал, чтобы написать именно эту функцию... правда сейчас столкнулся с одной проблемой... я насамом деле уже написал всё это дело по-другому:

скрипт на странице index.html:
Код

var time = 70;

writeMenu("begin","1");
writeMenu("main","1","Дизайн","#","x3m_img/lnk1op.gif");
writeMenu("begin","1_sub");
writeMenu("sub","1_1","Уникальные разработки","#","x3m_img/page.gif");
writeMenu("sub","1_2","Шаблоны","#","x3m_img/page.gif");
writeMenu("end","1_sub");
writeMenu("end","1");

writeMenu("begin","2");
writeMenu("main","2","Разработка сайтов","#","x3m_img/lnk2op.gif");
writeMenu("begin","2_sub");
writeMenu("sub","2_1","HTML","#","x3m_img/page.gif");
writeMenu("sub","2_2","Flash","#","x3m_img/page.gif");
writeMenu("sub","2_3","Сделай сам","#","x3m_img/page.gif");
writeMenu("end","2_sub");
writeMenu("end","1");


часть основного скрипта script.js
Код

function writeMenu(var_what,var_id,var_name,var_href,var_img)
{var res;
switch (var_what)
{case "begin":
res = '<table cellspacing="0" cellpadding="0" border="0"><tr><td>';
break;

case "end":
res = '</td></tr></table>';
break;

case "main":
res = '<table style="height:22;display:block;" cellspacing="0" cellpadding="0" border="0" id="' + var_id + '"><tr>\n';
res += '<td style="width:0;"></td>\n';
res += '<td style="background: url(\'x3m_img/sub1.gif\');text-align:center;vertical-align:middle;width:20;">';
res += '<img src="x3m_img/minus.gif" onmouseover="setCur(this)" onclick="mainFunc(this.id,0)" id="lnk' + var_id + '">\n';
res += '</td>\n';
res += '<td srtle="text-align:center;vertical-align:middle;width:20;">\n';
res += '<img style="height:18;width:18;" src="' + var_img + '" onmouseover="setCur(this)" onclick="mainFunc(this.id,0)" id="lnk' + var_id + '">\n';
res += '</td>\n';
res += '<td style="text-align:left;vertical-align:top;">\n';
res += '<a class="mainLnk" href="' + var_href + '">' + var_name + '</a>\n';
res += '</td></tr></table>\n';
break;

case "sub":
res = '<table style="height:22;display:block;" cellspacing="0" cellpadding="0" border="0" id="' + var_id + '"><tr>\n';
res += '<td style="background: url(\'x3m_img/line.gif\');width:18;"></td>\n';
res += '<td style="background: url(\'x3m_img/sub1.gif\');width:18;"></td>\n';
res += '<td style="text-align:center;vertical-align:middle;width:20;">\n';
res += '<img style="height:18;width:18;" src="' + var_img + '">\n';
res += '</td>\n';
res += '<td style="text-align:left;vertical-align:top;">\n';
res += '<a href="' + var_href + '" class="subLnk">' + var_name + '</a>\n';
res += '</td>\n';
res += '</tr></table>\n';
break;
}
document.write(res);
}


здесь всё работает замечательно, толбко вот одна проблема: не решил ещё, как определять, является ли пункт последним (это нужно для обозначения линий, т.е. дальше она не пойдёт). Новым способ это можно было бы решить, проверяя не является ли данный элемент массива последним, а тут пришлось бы извращаться. Есть ещё несколько проблем, серьёзных и не очень с обоими вариантами, но склоняюсь к первому, хотя мне кажется, удобнее создавать меню по второму. Через PHP не хочу делать, хочу, чтобы на локалке тоже работало. никому не нужен скрипт, для которого нужен ещё и веб-сервер. допустим челу нужно меню. он ищет его, скачивает моё, моё работает тольк с PHP. а у него нет ни Апаче, и хостинг у него вообще - Narod. Поэтому пишем через JS вышесказанной функцией.


--------------------
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0497 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.