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

HTML+CSS+JavaScript

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

 

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

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

тема: Помогите разобраться со скриптом.
 
 автор: Igorel   (24.08.2006 в 20:10)   письмо автору
 
 

Для работы с изображениями сделал простенький скрипт, а он работает не верно. Все окна открываются со свойствами последнего (в аттаче архивчик целиком, если надо)

<html>

<head>
  <title>Probe</title>
</head>

<body>

<?php
for($i =0$i 5$i++) {
$imgwidth rand(50,1024); $imgheight rand(50,768);
/*echo " ".$imgwidth." ".$imgheight."<br>";*/
echo "<script type=\"text/javascript\">

    var imgwidth = 
$imgwidth; var imgheight = $imgheight;

    if ((screen.width) >= imgwidth)
         {
                var width = imgwidth; var left = Math.ceil((screen.width-width)/2);
         } else {
                var width = (screen.width); var left = 0;
                };

    if ((screen.height) >= imgheight)
         {
                var height = imgheight; var top = Math.ceil((screen.height-height)/2);
         } else {
                var height = (screen.height); var top = 0;
                };
    document.write(\"<br>По ссылке ниже должно открыться окно<br>шириной=\"+width+\", высотой=\"+height+\",<br>отступом слева=\"+left+\" и сверху=\"+top+\"<br>\")
    </script>"
;


echo 
"<A onclick=\"window.open('../new/blank.html','Image','height='+height+',width='+width+',top='+top+',left='+left+',scrollbars=yes,toolbar=no,location=no,status=no,resizable=yes');return false;\" href=\"blank.html\">NewWindow</a><br><br>";
                         }
?>


</body>

</html>


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

   
 
 автор: 12345   (24.08.2006 в 20:44)   письмо автору
 
   для: Igorel   (24.08.2006 в 20:10)
 

Все окна открываются с одинаковыми переменными, которые вычислены на момент вывода последнего окна. Конечно, они будут одинаковыми.

Всем переменным задайте разные имена. А лучше всё выбросить и переписать в один цикл на JS, создавать массивы длиной в 5, из них брать height[3], height[4], ....

   
 
 автор: Igorel   (24.08.2006 в 20:55)   письмо автору
 
   для: 12345   (24.08.2006 в 20:44)
 

Проблема в том что этот Javascript должен работать в цикле РНР-скрипта (while), и параметры $imgwidth = ??; $imgheight = ??; брать из того же РНР в процессе работы цикла . Как сие реализовать ?

   
 
 автор: 12345   (24.08.2006 в 21:19)   письмо автору
 
   для: Igorel   (24.08.2006 в 20:55)
 

А, ну здесь тоже лёгкое рассогласование времён. И это пройдёт :) (Как здесь:

http://www.softtime.ru/forum/read.php?id_forum=4&id_theme=23241

   
 
 автор: Igorel   (24.08.2006 в 21:21)   письмо автору
 
   для: 12345   (24.08.2006 в 21:19)
 

Т.е. бобик сдох ? В смысле ничего не получится ?

   
 
 автор: ExtraBrain   (24.08.2006 в 21:30)   письмо автору
 
   для: Igorel   (24.08.2006 в 20:55)
 

Лови


<html> 

<head> 
  <title>Probe</title> 
</head> 

<body> 

<?php 
echo '
<script>

var lt=[];
var tp=[];
var iw=[];
var ih=[];

function winOpen(n) {
  window.open("../new/blank.html","Image","height="+ih[n]+",width="+iw[n]+",top="+tp[n]+",left="+lt[n]+",scrollbars=yes,toolbar=no,location=no,status=no,resizable=yes");
}

</script>
'
;

for(
$i =0$i 4$i++) { 
$imgwidth rand(50,1024); 
$imgheight rand(50,768); 
/*echo " ".$imgwidth." ".$imgheight."<br>";*/ 
echo "
<script type=\"text/javascript\"> 

    var imgwidth = 
$imgwidth; var imgheight = $imgheight

    if ((screen.width) >= imgwidth) 
         { 
                var width = imgwidth; var left = Math.ceil((screen.width-width)/2); 
         } else { 
                var width = (screen.width); var left = 0; 
                }; 

    if ((screen.height) >= imgheight) 
         { 
                var height = imgheight; var top = Math.ceil((screen.height-height)/2); 
         } else { 
                var height = (screen.height); var top = 0; 
                }; 
    document.write(\"<br>По ссылке ниже должно открыться окно<br>шириной=\"+width+\", высотой=\"+height+\",<br>отступом слева=\"+left+\" и сверху=\"+top+\"<br>\") 
    lt["
.$i."]=left;
    tp["
.$i."]=top;
    iw["
.$i."]=width;
    ih["
.$i."]=height;
</script>
"


echo 
'
<A onclick="winOpen('
.$i.'); return false;" href="blank.html">NewWindow</a><br><br>
'
;


?> 


</body> 

</html> 

   
 
 автор: Igorel   (24.08.2006 в 22:39)   письмо автору
 
   для: ExtraBrain   (24.08.2006 в 21:30)
 

ExtraBrain супер ! Бегу адаптировать к своему скрипту. СПАПИБО ! А то я в этой джаве нифига не понимаю :(((

   
Rambler's Top100
вверх

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