Html и прайс

Статус
Закрыто для дальнейших ответов.

LeopART

Well-Known Member
Регистрация
10.05.2005
Сообщения
718
Подскажите плз, как сделать в хтмл ну на крайняк javascript - ибо хостинг мягко говоря г...., прайс вида похожего на виндовые вылезающие списки с плюсиками... а? Если это вобще реально... :wacko:
 

DnAp

self::setDebugMode(true);
Регистрация
30.04.2005
Сообщения
490
Если правильно понял то тебе надо что-то типо этого
Код:
<html>
<STYLE type="text/css">
		DIV { margin-left: 10px }
</STYLE>
<script>
function vis(id)
{
		if(document.getElementById(id).style.display=='')
  document.getElementById(id).style.display="none";
		else
  document.getElementById(id).style.display="";
}
</script>

<a onclick="vis('d1')">+</a>Папка 1
<div id="d1" style="display:none">
		<a onclick="vis('d2')">+</a>Папка 2
		<div id="d2" style="display:none">
  Подпункт1<br>
  Подпункт2
		</div>
</div>
</html>
 

LeopART

Well-Known Member
Регистрация
10.05.2005
Сообщения
718
DnAp спасибки, то что надо :)
Уже применяю к делу :) Потом в "Зацените сайт" положу что получится :)
 

LeopART

Well-Known Member
Регистрация
10.05.2005
Сообщения
718
Хм... Чего то я не понимаю...
Код:
<a onclick="vis('d1')">+</a>Раздел 1
<div id="d1" style="display:none">
  <a onclick="vis('d2')">+</a>Пункт 1
  <div id="d2" style="display:none">
      Подпункт 1<br>
      Подпункт 2
   </div><br>
  <a onclick="vis('d2')">+</a>Пункт 2
  <div id="d2" style="display:none">
      Подпункт 1<br>
      Подпункт 2
   </div><br>
<a onclick="vis('d1')">+</a>Раздел 2
<div id="d1" style="display:none">
</div>
</div>
Вроде как тут что-то не так...
 

DnAp

self::setDebugMode(true);
Регистрация
30.04.2005
Сообщения
490
У всех бывает:)
Коментарии:
Код:
<STYLE type="text/css">
		DIV { margin-left: 10px }
</STYLE>
Прописали всем дивам здвиг на 10px
Код:
function vis(id)
{
		if(document.getElementById(id).style.display=='')
  document.getElementById(id).style.display="none";
		else
  document.getElementById(id).style.display="";
}
Функция которая делает невидимым или видимым элемент с переданным id

Так вот у тебя в коде оказалось несколько дивов с одним ид если его поправить то получиться
Код:
<a onclick="vis('d1')">+</a>Раздел 1
<div id="d1" style="display:none">
 <a onclick="vis('d2')">+</a>Пункт 1
 <div id="d2" style="display:none">
     Подпункт 1<br>
     Подпункт 2
  </div><br>
 <a onclick="vis('d3')">+</a>Пункт 2
 <div id="d3" style="display:none">
     Подпункт 1<br>
     Подпункт 2
  </div><br>
<a onclick="vis('d4')">+</a>Раздел 2
<div id="d4" style="display:none">
</div>
</div>
 

LeopART

Well-Known Member
Регистрация
10.05.2005
Сообщения
718
Мдя... :) Второй раз на этом спотыкаюсь... DnAp, спсибки :)
В принципе я и сама бы наверна догадалась, но время поджимает, а голова не варит ибо недосып...
 

DnAp

self::setDebugMode(true);
Регистрация
30.04.2005
Сообщения
490
Всегда пожалуйста:)
 

LeopART

Well-Known Member
Регистрация
10.05.2005
Сообщения
718
Блин... вроде бы все замечательно, но так громоздко получается... Короче надо скрипт писать чтоб еще обновлять можно было....
Но это потом... сначала хоть так сделать надо бы... Ума не приложу как сделать, чтоб лаконично и красивско было.... И побыстрее....
:wacko:
 

DnAp

self::setDebugMode(true);
Регистрация
30.04.2005
Сообщения
490
Еслиб хост был чуть поумней(а я знаю он поумнел;) ) я бы просто написал функцию вроде этой
Код:
function arr_as_rss($arr)
{
		$rerurn="\n";
		foreach ($arr as $key => $value)
		{
  if($value!='')
  {
 		 if(is_array($value))
 		 {
    $rerurn.= "<".$key.">";
    $rerurn.= arr_as_rss($value);
    $rerurn.= "</".$key.">\n";
 		 }else{
    $rerurn.= "<".$key.">";
    $rerurn.=$value;
    $rerurn.= "</".$key.">\n";
 		 }
  }
		}
		return $rerurn;
}
Это была упрощенная функция для вывода xml дерева из многомерного массива...
делаем масив и вызываем и отправляем сюда, сдесь рекрусивно рисуеться дерево...
 

LeopART

Well-Known Member
Регистрация
10.05.2005
Сообщения
718
Еще одна загвоздка в том, что по уму - должна быть скульная бд, ибо прайсик обновляется ежедневно, если не дважды за день.
И присылается в exel по мылу. Воть...
Возможно как нить прям оттуда?
 

DnAp

self::setDebugMode(true);
Регистрация
30.04.2005
Сообщения
490
:blink: те это дерево должно подгружаться из бд ну тогда предыдущий скрипт не нужен...
структура бд такая: ID | first_id | доп. характеристики
получаем first_id == 0
читаем id получаем всех потомков этого те first_id==id
итд в цикле...
Опять-же рекруссивный вызов должен быть..
К сожалению никаких аналогичных скриптов нет под рукой, есть здоровое дерево но оно слишком навороченое и внедрено в движек...
Надеюсь ясно мысль обьяснил...
Напишешь кинь код а то авось пригодиться в будущем:)
 
Статус
Закрыто для дальнейших ответов.
Верх Низ