Javascript.RU

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

Как передать id во всплывающее окно
Доброе время суток всем!
Подскажите пожалуйста:
нашел скрипт всплывающего окна на javascript:
<script type="text/javascript">
var curtainStep = 10; //шаг - количество пикселей на которое будет сворачивать слой за один раз
var curtainTimeout = 35;//задержка перед последующей итерацией для эффекта плавности

//текущее количество обрезаемых пикселей слоя слева и справа
var curtainLeft = 150;
var curtainRight = 150;
var curtainWidth = 300;//ширина слоя

function curtainOpen()
{
	if (curtainLeft>0)
	{
		curtainRight += curtainStep; //раскрываем область усечения справа на curtainStep пикселей
		curtainLeft -= curtainStep; //раскрываем область усечения слева на curtainStep пикселей

		var rect = 'rect(auto, '+ curtainRight +'px, auto, '+ curtainLeft +'px)';
		
		document.getElementById("dialogWindow").style.clip = rect;
		
		setTimeout(curtainOpen,curtainTimeout); //вызываем эту же функцию повторно через curtainTimeout миллисекунд
	}
}

function curtainClose()
{
	if (curtainLeft<curtainRight)//Пока левая граница области усечения не встретилась с правой
	{
		curtainRight -= curtainStep; //сужаем область усечения справа на curtainStep пикселей
		curtainLeft += curtainStep; //сужаем область усечения слева на curtainStep пикселей
		
		var rect = 'rect(auto, '+ curtainRight +'px, auto, '+ curtainLeft +'px)';
		
		document.getElementById("dialogWindow").style.clip = rect;
		
		setTimeout(curtainClose,curtainTimeout); //вызываем эту же функцию повторно через curtainTimeout миллисекунд
	}
}

function clipImg(on)
{
document.getElementById("clipEx1").style.clip=on?'rect(78px 146px 183px 84px)':'rect(auto,auto,auto,auto)';
}
</script>

вызываю окошко при нажатии на ссылку:
<a href="javascript:curtainOpen()" class='mail'>детали</a><br>
	<div id="dialogWindow">
	<div class="dTitle">mmm-da</div>
	<p class="dBody<button style="clear:both; margin-top:30px;" type="button" onClick="curtainClose()">Закрыть окно</button></p>
	</div>

работает все классно!
Вот только вопрос:мне позарез нужно передать данные в это всплывающее окошко, то есть у меня вывод человек из базы данных посредством цикла while, и возле каждого человечка есть ссылочка "детали". Мне нужно, чтобы как-то id передавался в это окно, чтобы в нем писались данные именно о том человека, на ссылочку возле которого я нажал!
Если можете, помогите советом плиз.. В javascript'e я далеко не силен!!
Заранее огромное спасибо!!!
Ответить с цитированием
  #2 (permalink)  
Старый 08.02.2009, 13:42
...
Отправить личное сообщение для Zibba Посмотреть профиль Найти все сообщения от Zibba
 
Регистрация: 13.10.2008
Сообщений: 225

<a href="" onclick="javascript:document.getElementById('dialogWindow').innerHTML='Какие то данные о первом пользователе'">Показать какие то данные о первом пользователе</a>

Если я правильно Вас понял.
Можете передавать в функцию curtainOpen() какой нибудь параметр, который будет означать идентификатор пользователя данные о котором нужно передать. И выполнять похожие манипуляции с записью данных, уже в самой функции curtainOpen()
Ответить с цитированием
  #3 (permalink)  
Старый 08.02.2009, 15:40
Новичок на форуме
Отправить личное сообщение для Legolas Посмотреть профиль Найти все сообщения от Legolas
 
Регистрация: 08.02.2009
Сообщений: 2

Спасибо, Zibba!!!
Id передаётся и выводится во всплывающем окне...
Только вот проблема.. больше ничего кроме него не выводится (
<a href='javascript:curtainOpen()'  onclick=\"javascript:document.getElementById('dialogWindow').innerHTML='$idus' \" class=mail><img src='images/mail.gif' border=0></a><br>"; }else{echo "<br><img src='images/user_unknown.gif'><br><span class='stavka1'>слот свободен</span>"; } ?>

	<div id="dialogWindow" onClick='curtainClose()'>
	<div class="dTitle">m</div>
	<p class="dBody"><button style='clear:both; margin-top:30px;' type='button' onClick='curtainClose()'>Закрыть окно</button></p>
	</div>

Раньше выводилась кнопочка "закрыть окно" и можно было содержимым его забить.. а теперь просто id и все.
Как бы мне вот эту проблему обойти?!
Ответить с цитированием
  #4 (permalink)  
Старый 08.02.2009, 17:13
...
Отправить личное сообщение для Zibba Посмотреть профиль Найти все сообщения от Zibba
 
Регистрация: 13.10.2008
Сообщений: 225

Просто строка
document.getElementById('dialogWindow').innerHTML=

заменяет все содержимое блока dialogWindow, включая и:
<div class="dTitle">m</div>
<p class="dBody"><button style='clear:both; margin-top:30px;' type='button' onClick='curtainClose()'>Закрыть окно</button></p>

Заведите внутри всплывающего окошка еще один <div> специально для информации, например <div id="content"> и выполняйте вывод информации для него.
<a href='javascript:curtainOpen()'  onclick=\"javascript:document.getElementById('content').innerHTML='$idus' \" class=mail><img src='images/mail.gif' border=0></a><br>"; }else{echo "<br><img src='images/user_unknown.gif'><br><span class='stavka1'>слот свободен</span>"; } ?>
 
    <div id="dialogWindow" onClick='curtainClose()'>
    <div class="dTitle">m</div>
    <div id="content"></div>
    <p class="dBody"><button style='clear:both; margin-top:30px;' type='button' onClick='curtainClose()'>Закрыть окно</button></p>
    </div>


Еще можете записывать информацию и создавать свой блок с контентом при помощи document.createElement() и appendChild(); Но и того что выше должно хватить для решения проблемы.
Ответить с цитированием
  #5 (permalink)  
Старый 21.04.2010, 22:50
Аспирант
Отправить личное сообщение для alexvb Посмотреть профиль Найти все сообщения от alexvb
 
Регистрация: 21.04.2010
Сообщений: 34

Как передать id во всплывающее окно
Вывожу картинки из базы в цикле. Делаю ссылки на картинки.

<a href="#" onclick="document.getElementById('wspok').style.di splay='block'; return false;" title="Всплывающее окно">
<div class='ram0' align='center'><img src = "<? echo $myrow['foto'] ?>"></div>
</a>

Вывожу во всплывающем окне дополнительную информацию.

<div id="wspok">
<?
echo "<br>".$myrow['name']."<br>";
echo '<img src="'.$myrow['foto'].'" alt="image" />'."&nbsp;";
?>

Почему то по всем ссылкам открывается только всплывающее окно с информацией по первой ссылке. Люди, помогите. JS только осваиваю. Уже мозги свернулись.
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как поймать родительское окно. Kapriz Events/DOM/Window 1 05.01.2009 14:37
Как сделать справочное окно? Vlaimir Events/DOM/Window 13 05.01.2009 14:06
Как узнать свернуто окно браузера или нет. bar-boss Events/DOM/Window 3 25.09.2008 16:09
Как передать фокус флешке на странице? dArky Общие вопросы Javascript 3 10.08.2008 01:03
Как передать элемент в функцию после createElement Oleg NT Общие вопросы Javascript 3 23.06.2008 02:11