Показать сообщение отдельно
  #3 (permalink)  
Старый 05.11.2009, 10:14
Профессор
Отправить личное сообщение для Andrei Посмотреть профиль Найти все сообщения от Andrei
 
Регистрация: 31.10.2009
Сообщений: 151

Да, наверное: "дождаться загрузки документа, а уже потом искать элементы."

Я так сделал, но он выдаёт:
useless setTimeout call (missing quotes around argument?)
[Break on this error] setTimeout(open_page(frame,frameDocument), 20);\r\n


var n = 1;
var s = 0;

alpha_page = Number(0);//начальная прозрачность
alpha_speed = Number(0.05);//скорость увеличения прозрачности

x_pos = Number(70);//начальное положения контента
x_speed = Number(4);//скорость движения контента

page = Number(1);
mes_er = String("Эта страница уже открыта, пожалуйста выбирите другую!");


parent.document.getElementsByTagName("frame")[1].onload = function() {//выполняем функцию после того как загрузиться страница
    var frame = parent.document.getElementsByTagName("frame")[1];
    var frameDocument = frame.contentDocument || frame.contentWindow.document;
    
    n = 1;
    x_pos = 70;
    s = 0;
    open_page(frame,frameDocument);
    button();
}

function button(){
    document.getElementById('but_1').onclick = function(){if(page == 1){alert(mes_er);}else{;page = 1;next_page();}};
    document.getElementById('but_2').onclick = function(){if(page == 2){alert(mes_er);}else{;page = 2;next_page();}};
    document.getElementById('but_3').onclick = function(){if(page == 3){alert(mes_er);}else{;page = 3;next_page();}};
    document.getElementById('but_4').onclick = function(){if(page == 4){alert(mes_er);}else{;page = 4;next_page();}};
}





function next_page(){//выполняем функцию после нажатия на кнопку 
    n = 1;
    s = 1;
    open_page();
}


function open_page(frame,frameDocument){
    

    if (s == 0){//если страница закрыта то =>
         if (x_pos>24){
              frameDocument.getElementsByTagName('DIV')[0].style.left = x_pos;
              x_pos -= x_speed;
         }

         if (alpha_page<1){
              frameDocument.getElementsByTagName('DIV')[0].style.opacity = alpha_page;
              alpha_page+=alpha_speed;
         }else{
              n = 99;
         }
    
       
   }else if (s == 1){
         if (alpha_page>0){
              frameDocument.getElementsByTagName('DIV')[0].style.opacity = alpha_page;
              alpha_page-=alpha_speed;
         }else{
              n = 99;
              if (page == 1){
                   frame.src = "home.html"
              }else if (page == 2){
                   frame.src = "portfolio.html"
              }else if (page == 3){
                   frame.src = "services.html"
              }else if (page == 4){
                   frame.src = "contacts.html"
              }else{
                   alert("error");
              }
         }
    } 
     
    if (n < 99){
         n++; 
         setTimeout(open_page(frame,frameDocument), 20);
    } 
}
Ответить с цитированием