Как передать 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 я далеко не силен!! Заранее огромное спасибо!!! |
<a href="" onclick="javascript:document.getElementById('dialogWindow').innerHTML='Какие то данные о первом пользователе'">Показать какие то данные о первом пользователе</a>
Если я правильно Вас понял. Можете передавать в функцию curtainOpen() какой нибудь параметр, который будет означать идентификатор пользователя данные о котором нужно передать. И выполнять похожие манипуляции с записью данных, уже в самой функции curtainOpen() |
Спасибо, 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 и все.:( Как бы мне вот эту проблему обойти?! |
Просто строка
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(); Но и того что выше должно хватить для решения проблемы. |
Как передать 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" />'." "; ?> Почему то по всем ссылкам открывается только всплывающее окно с информацией по первой ссылке. Люди, помогите. JS только осваиваю. Уже мозги свернулись. |
| Часовой пояс GMT +3, время: 14:08. |