2012-03-02 3 views
0

Я просматриваю JavaScript: окончательное руководство
Он предлагает следующий код для объяснения setTimeout() и setInterval(), и моя проблема заключается в том, что он запускается в Safari без проблем , но в Mozilla он вообще не срабатывает, у кого-нибудь есть мысли ?setInterval() проблема в Mozilla (функция Javascript)

Проблема заключается в следующей функции:

function invoke(f,start,interval,end){ 
     if(!start) start=0; //default to 0ms (start right away) 
     if (arguments.length <= 2) 
      setTimeout(f,start); 

Он действует, если я не установить inverval и конец, но если я что-то идет Janky

else{ 
     setTimeout(repeat,start); 
     function repeat(){ 
     var h = setInterval(f,interval); 
     //if(end)setTimeout(function(){clearInterval(h)},end); 
     } 
    } 
    } 

Thi s только фиктивная функция, которая работает на SetTimeout() и setInterval()

function f(){ 
    if(true) 
     alert("yo"); 
    } 



<button onclick="invoke('f,200,1000,5000')">yo</button> 

Hopfully Сомон имеет некоторое представление о этом, спасибо.

+0

Что на самом деле происходит, когда вы запускаете его с интервалом? 'janky' - не очень описательный термин, и последнее, что я смотрел, не было в моем словаре программирования. Вы пробовали это без блокировки? Вместо этого попробуйте использовать только console.log(). – jfriend00

ответ

0

JSFiddle это сейчас появляются работы,

как другие сказали, что вам нужно удалить «S Arround вашего параметра для вызова

также FireBug для Firefox (получить его, если вы не уже) терпит неудачу с Повтор не определен, поэтому я тоже немного изменил это.

0

Похоже, вы передаете одну переменную своей функции invoke из-за размещения вашей второй одиночной кавычки. Попробуйте изменить его

<button onclick="invoke('f',200,1000,5000)">yo</button>

и посмотреть, что работает лучше.

1
<button onclick="invoke('f,200,1000,5000')">yo</button> 

должен быть

<button onclick="invoke(f,200,1000,5000)">yo</button> 

В противном случае вы передаете строку 'е, 200,1000,5000' в качестве первого параметра.

Смежные вопросы