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

Форум PHP

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

 

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

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

тема: Помогите новичку разобраться с вложенными циклами
 
 автор: viktor_rus   (29.12.2008 в 03:12)   письмо автору
 
 

Необходимо посредством PHP динамически писать JavaScript вот мой код

<?php 
echo 
"<script language=\"javascript\">
    function doShowHide(popupMenu){"
;

                      
$temp1 1// Переменная для цикла
    
    
while($temp1 <= $num_row){
    echo
    if (
popupMenu == \"menu".$temp1."\"){";
    
$temp2 1// Переменная для вложенного цикла
        
while($temp2 <= $num_row){
        if(
$temp2 temp1){$temp3 "visible";} else {$temp3 "hidden";}
    echo 
"document.getElementById(\"menu".temp2."\").style.visibility=\"".$temp3."\";";
    
$temp2++;
    }
    
$temp1++;
    echo 
"}";
    }
    echo 
"}    
            
    function doHide(popupMenu){
        document.getElementById(popupMenu).style.visibility=\"hidden\";
    }
</script>"
;
?>


Хотелось бы чтобы получилось примерно вот так


        if (popupMenu == \"menu1\"){
            document.getElementById(\"menu1\").style.visibility=\"visible\";
            document.getElementById(\"menu2\").style.visibility=\"hidden\";
            document.getElementById(\"menu3\").style.visibility=\"hidden\";
            document.getElementById(\"menu4\").style.visibility=\"hidden\";
            document.getElementById(\"menu5\").style.visibility=\"hidden\";
        }
        if (popupMenu == \"menu2\"){
            document.getElementById(\"menu1\").style.visibility=\"hidden\";
            document.getElementById(\"menu2\").style.visibility=\"visible\";
            document.getElementById(\"menu3\").style.visibility=\"hidden\";
            document.getElementById(\"menu4\").style.visibility=\"hidden\";
            document.getElementById(\"menu5\").style.visibility=\"hidden\";
        }



Получаю же я только то что IE перестает отвечать
Заранее благодарен!

  Ответить  
 
 автор: Zend72   (29.12.2008 в 05:22)   письмо автору
 
   для: viktor_rus   (29.12.2008 в 03:12)
 

if($temp2 = temp1) отсюда и бесконечный цикл.


<?php
echo
"<script language=\"javascript\">
    function doShowHide(popupMenu){"
;
    
$num_row 5;
    
$temp1 1// Переменная для цикла

    
while($temp1 <= $num_row)
    {
      echo 
"\r\n"."if (popupMenu == \"menu".$temp1."\"){"."\r\n";
      
$temp2 1// Переменная для вложенного цикла
      
while($temp2 <= $num_row)
      {
        if(
$temp2 == $temp1){$temp3 "visible";} else {$temp3 "hidden";}
        echo 
"document.getElementById(\"menu".$temp2."\").style.visibility=\"".$temp3."\";\r\n";
        
$temp2++;
      }
      
$temp1++;
      echo 
"}";
    }
    echo 
"}

    function doHide(popupMenu){
        document.getElementById(popupMenu).style.visibility=\"hidden\";
    }
</script>"
;
?>


Результат:

<script language="javascript">
    function doShowHide(popupMenu){
if (popupMenu == "menu1"){
document.getElementById("menu1").style.visibility="visible";
document.getElementById("menu2").style.visibility="hidden";
document.getElementById("menu3").style.visibility="hidden";
document.getElementById("menu4").style.visibility="hidden";
document.getElementById("menu5").style.visibility="hidden";
}
if (popupMenu == "menu2"){
document.getElementById("menu1").style.visibility="hidden";
document.getElementById("menu2").style.visibility="visible";
document.getElementById("menu3").style.visibility="hidden";
document.getElementById("menu4").style.visibility="hidden";
document.getElementById("menu5").style.visibility="hidden";
}
...

  Ответить  
 
 автор: viktor_rus   (29.12.2008 в 19:51)   письмо автору
 
   для: Zend72   (29.12.2008 в 05:22)
 

Огромное спасибо! Никак не могу привыкнуть к тому что "=" это совсем не значит что "равно"!

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

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