|
|
|
| Всем привет. Хочу чтобы при открытии нового окна, оно всегда было по центру экрана. Ссылка такова:
<a href=\"#\" onclick=\"window.open('".DOMEN."/modules/magazine/photo.php?id=".$catrow['id_category']."','newWin','Toolbar=0,Location=0,Directories=0,Status=0,Menubar=0,left = (screen.Width - 650)/2,
top = (screen.Height - 500)/2,Scrollbars=0,Resizable=0,Copyhistory=1,Width=".$wid.",Height=".$hei."'); return false\"><img style='border:double' src='".DOMEN."".$catrow['photo']."' title='Увеличенное фото откроется в новом окне' /></a>
|
Смотрел пример по ссылке http://softtime.ru/forum/read.php?id_forum=4&id_theme=48718 поэтому написал такие left и top. Смотрел еще ниже скрипт, но не как не прикрутил его на свой лад. Помогите доделать. Заранее благодарен. | |
|
|
|
|
|
|
|
для: TetRiska
(15.09.2009 в 01:08)
| | Помогите разобраться. | |
|
|
|
|
|
|
|
для: TetRiska
(15.09.2009 в 01:08)
| | Лучше оформите это в виде отдельной функции, как это указано по ссылке, в строке в любом случае никакие вычисления производиться не будут - код будет передаваться как есть. | |
|
|
|
|
|
|
|
для: cheops
(15.09.2009 в 23:11)
| |
<script>
function opnWindow(url) {
var width = 650
var height = 500
var leftPx = ( screen.availWidth - width ) / 2;
var topPx = ( screen.availHeight - height ) / 2;
var params = "width=" +width+ ", height=" +height+ ", resizable=yes, scrollbars=yes, top=" +topPx+ ", left=" +leftPx;
window.open(url, 'newWindow', params);
}
</script>
|
<?php <a href="http://softtime.ru" onclick="opnWindow(this.href); return false;">Текст ссылки</a> ?>
|
Подгружать в хидер эту ф-цию нельзя, т.к. мне нужно в скрипт передавать ширину и высоту открываемого окна, от этого и зависит дальнейшее позиционирование.
Изначальный вариант ссылки таков:
$wid = *** // в зависимости от размера фотки ставит нужную ширину
$hei = *** // в зависимости от размера фотки ставит нужную высоту
<a href=\"#\" onclick=\"window.open('".DOMEN."/modules/magazine/photo.php?id=".$catrow['id_category']."','newWin','Toolbar=0,Location=0,Directories=0,Status=0,Menubar=0,Scrollbars=0,Resizable=0,Copyhistory=1,Width=".$wid.",Height=".$hei."'); return false\">
<img style='border:double' src='".DOMEN."".$catrow['photo']."' title='Увеличенное фото откроется в новом окне' /></a>
|
Теперь как я предполагаю делать:
$wid = *** // в зависимости от размера фотки ставит нужную ширину
$hei = *** // в зависимости от размера фотки ставит нужную высоту
<script>
function opnWindow(url) {
var width = ".$wid."
var height = ".$hei."
var leftPx = ( screen.availWidth - width ) / 2;
var topPx = ( screen.availHeight - height ) / 2;
var params = "width=" +width+ ", height=" +height+ ", resizable=yes, scrollbars=yes, top=" +topPx+ ", left=" +leftPx;
window.open(url, 'newWindow', params);
}
</script>
|
и ниже
<a href=\"#\" onclick=\"opnWindow('".DOMEN."/modules/magazine/photo.php?id=".$catrow['id_category']."'); return false;\">
<img style='border:double' src='".DOMEN."".$catrow['photo']."' title='Увеличенное фото откроется в новом окне' /></a>
|
Верно построил? | |
|
|
|
|
|
|
|
для: TetRiska
(16.09.2009 в 12:49)
| | Да, только нужно добавить точки с запятой в конце строк
var width = 650
var height = 500
|
| |
|
|
|
|
|
|
|
для: cheops
(16.09.2009 в 12:55)
| | благодарю. сейчас проблемка постала в размере открываемого окна, а именно:
<?php
list($width, $height, $type, $attr) = getimagesize("".DOMEN."".$catrow['photo']."");
if($height > 113)
{
$wid = 450;
$hei = 620;
}
else
{
$wid = 800;
$hei = 620;
}
$goods .= "
<script>
function opnWindow(url)
{
var width = ".$wid.";
var height = ".$hei.";
var leftPx = ( screen.availWidth - width ) / 2;
var topPx = ( screen.availHeight - height ) / 2;
var params = 'width=' +width+ ', height=' +height+ ', resizable=0, scrollbars=0,
copyhistory=1,menubar=0,status=0,directories=0,location=0,toolbar=0, top=' +topPx+ ', left=' +leftPx;
window.open(url, 'newWindow', params);
}
</script>";
$goods .= "<a href=\"#\" onclick=\"opnWindow('".DOMEN."/modules/magazine/photo.php?id=
".$catrow['id_category']."'); return false;\"><img style='border:double' src='".DOMEN."
".$catrow['photo']."'
onMouseover=\"showhint('Увеличенное фото откроется в новом окне.', this, event, '260px')\" /></a>";
?>
|
Судя из условия берется размер картинки, а именно высота, если она больше 113, то открываем вертикальное окно, а если нет,
то горизонтальное. Но в итоге все не так выходит...Мне постоянно открывает горизонтальное окно с размерами 800х620.
Что я не так сделал? | |
|
|
|
|
|
|
|
для: TetRiska
(16.09.2009 в 13:21)
| | плз хелп :) | |
|
|
|
|
|
|
|
для: TetRiska
(16.09.2009 в 13:21)
| | кто скажет почему размеры не подставляет нужные в зависимости от размера картинки? | |
|
|
|
|
|
|
|
для: TetRiska
(15.09.2009 в 01:08)
| | - | |
|
|
|