Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Позиционирование нового окна по центру экрана
 
 автор: TetRiska   (15.09.2009 в 01:08)   письмо автору
 
 

Всем привет. Хочу чтобы при открытии нового окна, оно всегда было по центру экрана. Ссылка такова:
<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 в 23:09)   письмо автору
 
   для: TetRiska   (15.09.2009 в 01:08)
 

Помогите разобраться.

  Ответить  
 
 автор: cheops   (15.09.2009 в 23:11)   письмо автору
 
   для: TetRiska   (15.09.2009 в 01:08)
 

Лучше оформите это в виде отдельной функции, как это указано по ссылке, в строке в любом случае никакие вычисления производиться не будут - код будет передаваться как есть.

  Ответить  
 
 автор: TetRiska   (16.09.2009 в 12:49)   письмо автору
 
   для: 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>

Верно построил?

  Ответить  
 
 автор: cheops   (16.09.2009 в 12:55)   письмо автору
 
   для: TetRiska   (16.09.2009 в 12:49)
 

Да, только нужно добавить точки с запятой в конце строк
    var width = 650 
    var height = 500

  Ответить  
 
 автор: TetRiska   (16.09.2009 в 13:21)   письмо автору
 
   для: 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   (17.09.2009 в 01:38)   письмо автору
 
   для: TetRiska   (16.09.2009 в 13:21)
 

плз хелп :)

  Ответить  
 
 автор: TetRiska   (17.09.2009 в 20:49)   письмо автору
 
   для: TetRiska   (16.09.2009 в 13:21)
 

кто скажет почему размеры не подставляет нужные в зависимости от размера картинки?

  Ответить  
 
 автор: АЯ   (16.09.2009 в 00:43)   письмо автору
 
   для: TetRiska   (15.09.2009 в 01:08)
 

-

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования