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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отрисовка меню с помощью процедуры в iframe 
:(
    Опции темы
ОнКофе
Дата 28.3.2006, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 3.3.2006
Где: http://www.angeli na-pitt.by.ru

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



Снова я тут не могу разобраться, надеюсь что ты сможешь мне помочь!

есть два файла... то самое меню
Код

var menu = new Array();    
menu[menu.length] = {title: "ПУНКТ МЕНЮ №1", url: "http://www.jsguide.spb.ru/",    
sub: [    
{title: "подменю №1.1", url: "http://www.jsguide.spb.ru/"},    
{title: "подменю №1.2", url: "http://www.jsguide.spb.ru/"},    
{title: "подменю №1.3", url: "http://www.jsguide.spb.ru/"}]};    
menu[menu.length] = {title: "ПУНКТ МЕНЮ №2", url: "http://www.jsguide.spb.ru/",    
sub: [    
{title: "подменю №2.1", url: "http://www.jsguide.spb.ru/"},    
{title: "подменю №2.2", url: "http://www.jsguide.spb.ru/"},    
{title: "подменю №2.3", url: "http://www.jsguide.spb.ru/"},    
{title: "подменю №2.4", url: "http://www.jsguide.spb.ru/"}]};    
menu[menu.length] = {title: "ПУНКТ МЕНЮ №3", url: "http://www.jsguide.spb.ru/"};    
menu[menu.length] = {title: "ПУНКТ МЕНЮ №4", url: "http://www.jsguide.spb.ru/",    
sub:[    
{title: "подменю №4.1", url: "http://www.jsguide.spb.ru/"},    
{title: "подменю №4.2", url: "http://www.jsguide.spb.ru/"}]};

<!-- потом идет конструктор который это меню рисует? с использованием IFRAME -->



а в адресе iframe src= стоит имя нового файла, в котором есть процедура - она должна отрисовывать именно то подменю которое нужно

Как сделать, есть какие-нибудь идеи?


PM MAIL WWW   Вверх
12345c
Дата 28.3.2006, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Я не в курсе, но зачем в меню использовать фрейм, в чём замысел? Менять стили меню, сменяя процедуру в фрейме?

(Фрейм использует много ресурсов системы, как новое окно, поэтому их число нужно минимизировать.)
PM WWW   Вверх
Ciber SLasH
Дата 28.3.2006, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: 24
Всего: 67



ОнКофе, вот тебе пример доступа к данным из IFRAME-а к главному документу и наоборот:
index.htm:
Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content='text/html; charset=windows-1251' />
<title>MAIN</title>
<script type='text/javascript'>
/*** Инициализация необходимых переменных (и другое) ***/
function init() {
ifrm = document.getElementById('ifr');
ifrm = (ifrm.contentWindow) ? ifrm.contentWindow : ifrm.contentDocument;
}

function showData() {
    alert('[ Из index.htm ]\n Данные из iframe: '+ifrm.document.getElementById('test').innerHTML);
}
</script>
</head>

<body>
<center>
<iframe id="ifr" src='iframe.htm' width="350" height="100" onLoad='init()'></iframe>
<p><input type="button" onClick='showData()' value="Показать данные из iframe.htm"></p>
<div id='test' style='display: none'>Данные из index.htm</div>
</body>
</html>

iframe.htm:
Код

<html>
<head>
<meta http-equiv="Content-Type" content='text/html; charset=windows-1251'>
<script type='text/javascript'>
function showData() {
// Доступ к главному документу
alert("[ Из iframe.htm ]\n Данные из главного документа: "+parent.document.getElementById('test').innerHTML);
}
</script>
</head>

<body>
<input type="button" onClick='showData()' value="Показать данные из index.htm">
<div id='test' style='display: none'>Данные из iframe.htm</div>
</body>
</html>


ЗЫ: а вообще IFRAME — это suxx.

Это сообщение отредактировал(а) Ciber SLasH - 28.3.2006, 14:21
PM   Вверх
Aliance
Дата 28.3.2006, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



ОнКофе, на форуме есть правила, которые обязаны соблюдать все:
• заголовок темы должен кратко отражать ее суть!
• если вы хотите поговорить с КОНКРЕТНЫМ участником - используйте системку ПМ (ЛС).

В следующих раз тема будет удалена без предупреждения.
Правила форума: http://forum.vingrad.ru/index.php?s=&act=SR&f=27
PM MAIL WWW ICQ Skype   Вверх
ОнКофе
Дата 28.3.2006, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 3.3.2006
Где: http://www.angeli na-pitt.by.ru

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



Цитата(Aliance @ 28.3.2006, 14:11 Найти цитируемый пост)
ОнКофе, на форуме есть правила, которые обязаны соблюдать все:
• заголовок темы должен кратко отражать ее суть!
• если вы хотите поговорить с КОНКРЕТНЫМ участником - используйте системку ПМ (ЛС).

В следующих раз тема будет удалена без предупреждения.

Извените!!! Больше такого не повториться!!!
Цитата(Aliance @ 28.3.2006, 14:11 Найти цитируемый пост)
В следующих раз тема будет удалена без предупреждения.

Спасибо что на первый раз не удалили тему!!!
Цитата(12345c @ 28.3.2006, 13:59 Найти цитируемый пост)
Я не в курсе, но зачем в меню использовать фрейм, в чём замысел? Менять стили меню, сменяя процедуру в фрейме?

я бы с удовольствием не использовал!! Из-за этих iframe одни только неприятности... просто другого выхода я не вижу... ситуация такая, что рядом с меню на страницах есть элементы форм а иногда даже flash-анимация или applets, поэтому когда такие элементы оказываются рядом с меню, подменю, которое появляется слева получается под этими элементами и никакой z-index не спасает. постоянно эти flash получаются свеху выползающего подменю... если есть идеи как обойти эту проблему не используя iframe - выслушаю с удовольствием!!!!

Цитата(Ciber SLasH @ 28.3.2006, 14:06 Найти цитируемый пост)
ЗЫ: а вообще IFRAME — это suxx.

полностью согласен!!!!


Цитата(Ciber SLasH @ 28.3.2006, 14:06 Найти цитируемый пост)
ОнКофе, вот тебе пример доступа к данным из IFRAME-а к главному документу и наоборот:

Разобрался быстро... правда пришлось немного под ASP переделать!!!Большое спасибо!!!


Это сообщение отредактировал(а) ОнКофе - 28.3.2006, 15:03
PM MAIL WWW   Вверх
Ciber SLasH
Дата 28.3.2006, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: 24
Всего: 67



На счёт flash-а: если это элемент интерфейса, то можно его засунуть в самый верх страницы, если это какая-то игра, то можно открыть в новом окне без какого-либо интерфейса.
PM   Вверх
ОнКофе
Дата 28.3.2006, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 3.3.2006
Где: http://www.angeli na-pitt.by.ru

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



Ciber SLasH, если это какой-то банер, который должен стоять именно там независимо от того появляется на нем меню или нет... Что тогда???
PM MAIL WWW   Вверх
Ciber SLasH
Дата 28.3.2006, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: 24
Всего: 67



На http://mail.ru/ тоже баннеры flash-евые висят, но дизайн от этого не страдает. Нужно правильно подходить к дизайну страницы.
PM   Вверх
12345c
Дата 28.3.2006, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Для информации: я наблюдал, что в iframe в IE div-ы глючат (плавающие) - текст в них не отображается, а сквозь поле дива просвечивает фон основного окна. Так что, убегая от одной неприятности, можно попасть в другую после долгой кропотливой работы. Советую сначала вручную нарисовать меню, которое предполагается генерировать в фрейме и обойти баги, которые при этом появятся.

Есть способ - при появлении слоя над формами делать элементы форм невидимыми. И с флешем то же. Муторно, но что поделаешь. Другой способ - не наезжать на них, разворачивать меню в отведённой для него колонке. И классика , и задача не переусложняется.
PM WWW   Вверх
ОнКофе
Дата 28.3.2006, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 3.3.2006
Где: http://www.angeli na-pitt.by.ru

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



Цитата(12345c @ 28.3.2006, 16:07 Найти цитируемый пост)
Для информации: я наблюдал, что в iframe в IE div-ы глючат (плавающие) - текст в них не отображается, а сквозь поле дива просвечивает фон основного окна.

ну это не глюк... я так иногда сам делаю... просто пишешь
Код

iframe allowtransparency="true"

а в файле который нужно закрузить в iframe пишешь
Код

<body style="background:none;">

Хотя работает этот "эффект" только в IE и FF
Цитата(12345c @ 28.3.2006, 16:07 Найти цитируемый пост)
Есть способ - при появлении слоя над формами делать элементы форм невидимыми. И с флешем то же. Муторно, но что поделаешь.

а вот это интереснее!!! А каким образом этого добиться???
PM MAIL WWW   Вверх
Ciber SLasH
Дата 28.3.2006, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: 24
Всего: 67



А что тут не понятного?
Сделать элемент невидимым: элемент.style.visibility = "hidden";
PM   Вверх
ОнКофе
Дата 28.3.2006, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 3.3.2006
Где: http://www.angeli na-pitt.by.ru

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



Цитата(Ciber SLasH @ 28.3.2006, 16:42 Найти цитируемый пост)
А что тут не понятного?
Сделать элемент невидимым: элемент.style.visibility = "hidden";


не.... тогда не канает.... представь себе баннер на полэкрана.... тут на него выпадает подменю, и весь баннер исчезает........ НЕТ, не пойдет!

Но хоть этот вариант и не подходит все же интересно как отслеживать когда на flash-ем появилось меню?

Это сообщение отредактировал(а) ОнКофе - 28.3.2006, 17:05
PM MAIL WWW   Вверх
Ciber SLasH
Дата 28.3.2006, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: 24
Всего: 67



Цитата(ОнКофе @ 28.3.2006, 18:04 Найти цитируемый пост)
тут на него выпадает подменю, и весь баннер исчезает.

А вот и нет. visibility: hiden не влияет на расположение элементов — элемент просто станет невидимым, в отличие от display: none — элемент исчезает из страницы.
PM   Вверх
12345c
Дата 28.3.2006, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Цитата(ОнКофе @ 28.3.2006, 16:37 Найти цитируемый пост)
ну это не глюк... я так иногда сам делаю... просто пишешь

Разметка HTML:
iframe allowtransparency="true"
Нет, именно глюк, без параметров в теге. Не фон фрейма прозрачный, а на _ месте _ плавающего _ дива _ появляется _ прозрачный _ фон , с исчезновением содержания дива.

PM WWW   Вверх
ОнКофе
Дата 29.3.2006, 09:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 3.3.2006
Где: http://www.angeli na-pitt.by.ru

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



Цитата(Ciber SLasH @ 28.3.2006, 17:22 Найти цитируемый пост)
Цитата(ОнКофе @ 28.3.2006, 18:04 )
тут на него выпадает подменю, и весь баннер исчезает.

А вот и нет. visibility: hiden не влияет на расположение элементов — элемент просто станет невидимым, в отличие от display: none — элемент исчезает из страницы.

Ну я просто не так выразился.... подменю появляется и весь баннер (длинной на полстраницы) становится невидимым....


Цитата
Нет, именно глюк, без параметров в теге. Не фон фрейма прозрачный, а на _ месте _ плавающего _ дива _ появляется _ прозрачный _ фон , с исчезновением содержания дива.

А есть ссылка помотреть???

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


 




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


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

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