Как передать 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, время: 05:32. |