Из базы данных в цикле выводятся малые фото и размещаются в таблице. Мне не нравится, что при клике, большое фото открывается в новом окне, хочется в новом, но с помощью JS - ну вы меня поняли.
<script>
function okno()
{
msgWindow= open("*","displayWindow",
"width=450,height=450,titlebar=0,alwaysLowered=0,alwaysRaised=0,resizable=1,status=0,toolbar=0,menubar=0,scrollbars=no,dependent=0,hotkeys=0,screenY=200")
}
</script>
<?
while ($ath= mysql_fetch_array($res))
{
$bfoto= $ath['bfoto'];
$mfoto= $ath['mfoto'];
echo '
<tr>
<td width="100" height="100" rowspan="2">
<a href="bfoto/'.$bfoto.'"onMouseOver="okno()"><img src="mfoto/'.$mfoto.'"> </a></td>
</tr>';
}
?>
загрузить конкретную новую страницу html или PHP - это пожалуста (вместо звездочки), а можно ли передать переменную из РНР в функцию на JS? и как вывести фото? - не могу понять из той литературы что есть.
Подскажите, пожалуста.
Спустя 1 час, 8 минут, 50 секунд (26.04.2011 - 19:13) ИНСИ написал(а):
ant3627 правильнее было бы так:
1. Выводим в цикле фотку:
2. Вот JS код:
3. Сам файл, который открывает большую фотку:
То есть ты id фотки, которую надо открыть передаешь в новое окно. А в новом окне, просто делай запрос и выводим большую фотку. Надеюсь смог доступно объяснить :)
1. Выводим в цикле фотку:
<a href="bfoto/'.$bfoto.'"onMouseOver="okno($id)"><img src="mfoto/'.$mfoto.'"> </a>
2. Вот JS код:
<script language="javascript">
function okno(id) {
document.documentElement.style.overflow = "auto";
document.body.style.marginRight = '0px';
var width="515", height="600";
var left = (screen.width/2) - width/2;
var top = (screen.height/2) - height/2;
var styleStr = 'menubar=no,status=no,location=no,toolbar=no,scrollbars=yes,width='+width+',height='+height+',left='+left+',top='+top+',screenX='+left+',screenY='+top;
var msgWindow = window.open("http://site.ru/bigPhoto?id=" + id,"bigPhoto", styleStr);
msgWindow.document.write(head + body);
}
</script>
3. Сам файл, который открывает большую фотку:
echo $_GET['id'];
То есть ты id фотки, которую надо открыть передаешь в новое окно. А в новом окне, просто делай запрос и выводим большую фотку. Надеюсь смог доступно объяснить :)
Спустя 43 минуты, 16 секунд (26.04.2011 - 19:57) ant3627 написал(а):
тупо скопировал и вставил (название сайта и папки поменял), но не работает, даже "onMouseOver="okno($id)" не открывает и пустого окна.
А можно ли вообще из РНР передать переменную в JS ???
может я (echo $_GET['id'] не правильно использую - ничего не отображает.
А можно ли вообще из РНР передать переменную в JS ???
может я (echo $_GET['id'] не правильно использую - ничего не отображает.
Спустя 16 минут, 42 секунды (26.04.2011 - 20:13) Guest написал(а):
А ненужно ничего тупо копировать и вставлять, нужно попробовать понять что написали.
velbox привёл пример передачи данных из php в javascript
переменные $id и тд. как раз из php. оkno($id) - это как раз передача переменной из php в js
velbox привёл пример передачи данных из php в javascript
<a href="bfoto/'.$bfoto.'"onMouseOver="okno($id)"><img src="mfoto/'.$mfoto.'"> </a>
переменные $id и тд. как раз из php. оkno($id) - это как раз передача переменной из php в js
Спустя 3 дня, 14 часов, 12 минут (30.04.2011 - 10:25) ant3627 написал(а):
Эх, господа джаваскриптовцы, разочаровали вы меня. Мне нужно было простое решение и быстро, не углубляясь в изучение JS.
Спасибо, конечно, velbox, что попытался, но ...
Все оказалось банально просто.
Пишу, может кому пригодится.
Согласен, что не очень красиво, когда JS код повторяется в цикле, но когда надо быстро закрыть тему - то сгодится.
В реале я использовал другую функцию, но как она работает, еще предстоит понять ... когда будет время.
Спасибо, конечно, velbox, что попытался, но ...
Все оказалось банально просто.
Пишу, может кому пригодится.
<a href="" onMouseOver=\'window.open("'.$foto.'", "newWin", "width=450,height=450,titlebar=0,alwaysLowered=0,alwaysRaised=0,resizable=0,status=0,toolbar=0,menubar=0,scrollbars=no,dependent=0,hotkeys=0,top=200,left=300")\'><img src="mfoto/'.$mfoto.'" >
Согласен, что не очень красиво, когда JS код повторяется в цикле, но когда надо быстро закрыть тему - то сгодится.
В реале я использовал другую функцию, но как она работает, еще предстоит понять ... когда будет время.
Спустя 34 минуты, 58 секунд (30.04.2011 - 11:00) Гость_liw написал(а):
Разочаровали?
Да дожили, - человек предложил более менее приличную функцию, и не угодил, вот ведь, какая жалость.
А функция к тому же делает тоже самое что и твой код, но хотя бы центрирует это несчастное окно да и не нужно при этом писать километр кода для каждой ссылки.
Да дожили, - человек предложил более менее приличную функцию, и не угодил, вот ведь, какая жалость.
А функция к тому же делает тоже самое что и твой код, но хотя бы центрирует это несчастное окно да и не нужно при этом писать километр кода для каждой ссылки.
Спустя 7 минут, 30 секунд (30.04.2011 - 11:08) ant3627 написал(а):
Предложил - это когда поставил и заработало,
а что проку, когда выводится пустое окно ... зато красиво по центру!
а что проку, когда выводится пустое окно ... зато красиво по центру!
Спустя 30 минут, 17 секунд (30.04.2011 - 11:38) Guest написал(а):
А ну попробую щас объяснить.
Тут форум, люди как бы надеются наверное получить какую то отдачу от того что пишут, - т.е.:
Мой вариант.
Со стороны отвечающего:
Вот ответил я, - вижу что человек, пусть задав ещё 200 вопросов, - понял что я ему хотел донести. И всё, - мне приятно, ибо я знаю, что то в чём разобрался сам, просто так не забудешь.
Таким образом я выполнил задачу для себя. Да да именно для себя, а не для того кто спрашивал.
Ведь говоря по правде, никого не волнуют проблемы других.
И тут мне, например пишут что я кого то там разочаровал, - ну что ж - мне плевать на это, т.к. у меня не стояла задача что бы спрашивающий остался мной доволен (я же не сто рублей что бы всем нравится).
А вот на то что пролема осталась, - т.е. спрашивающий не понял того что сделал, даже если добился своей цели - мне не плевать, т.к. у меня то стояла другая задача, которую я уже не смогу выполнить, т.к. тут зависит всё не только от одного человека.
Почему меня волнует, понял ли спрашивающий то что я ему написал?
- Ну тут возможны варианты, например: а вдруг мне через месяц/год прийдётся разбираться в том ужасном коде, который написал этот человек.
Не хотите ничего учить, обращайтесь за деньги, - вам помогут.
----------------------------------------
Со стороны спрашивающего:
ну это ты и сам знаешь)
----------------------------------------
А так в общем то без разницы) все остались при своих мнениях.
Тут форум, люди как бы надеются наверное получить какую то отдачу от того что пишут, - т.е.:
Мой вариант.
Со стороны отвечающего:
Вот ответил я, - вижу что человек, пусть задав ещё 200 вопросов, - понял что я ему хотел донести. И всё, - мне приятно, ибо я знаю, что то в чём разобрался сам, просто так не забудешь.
Таким образом я выполнил задачу для себя. Да да именно для себя, а не для того кто спрашивал.
Ведь говоря по правде, никого не волнуют проблемы других.
И тут мне, например пишут что я кого то там разочаровал, - ну что ж - мне плевать на это, т.к. у меня не стояла задача что бы спрашивающий остался мной доволен (я же не сто рублей что бы всем нравится).
А вот на то что пролема осталась, - т.е. спрашивающий не понял того что сделал, даже если добился своей цели - мне не плевать, т.к. у меня то стояла другая задача, которую я уже не смогу выполнить, т.к. тут зависит всё не только от одного человека.
Почему меня волнует, понял ли спрашивающий то что я ему написал?
- Ну тут возможны варианты, например: а вдруг мне через месяц/год прийдётся разбираться в том ужасном коде, который написал этот человек.
Не хотите ничего учить, обращайтесь за деньги, - вам помогут.
----------------------------------------
Со стороны спрашивающего:
ну это ты и сам знаешь)
----------------------------------------
А так в общем то без разницы) все остались при своих мнениях.
Спустя 1 час, 24 минуты, 40 секунд (30.04.2011 - 13:03) ant3627 написал(а):
Спрашивающий всегда найдет решение своей проблемы - программист - синоним слова - "не тупой" вопрос во времени на решение.
Когда спешишь закончить работу и спишь по 4 часа, то голова отказывается вникать во второстепенные задачи, как-то - сделать красивше. А JS я пока по другому не воспринимаю. Может, когда изучу его, поменяю и мнение.
Когда спешишь закончить работу и спишь по 4 часа, то голова отказывается вникать во второстепенные задачи, как-то - сделать красивше. А JS я пока по другому не воспринимаю. Может, когда изучу его, поменяю и мнение.
Спустя 4 часа, 35 минут, 16 секунд (30.04.2011 - 17:38) ИНСИ написал(а):
ant3627 я дал вполне рабочий вариант. И даже объяснил. Но вы решили не копаться, потому что лень разбираться, но уверен потратили куда больше времени на поиск решения вашей проблемы.
Однако я уже дал вам решение вашей задачи.
Однако я уже дал вам решение вашей задачи.