Newsgroup: it.comp.lang.javascript
Titolo: setinterval (credo)

Questo script funziona perfettamente alla prima apertura di google, ma si
blocca subito dopo. Non ripete l'alert "debug", quindi credo che l'errore
sia in setinterval... (il tutto avviene in un frameset)
<script language="JavaScript">
sitoz=new Array(15)
sitoz[0] = "
http://www.google.it
";
sitoz[1]= "
http://erix.cjb.net
";
sitoz[2]= "
http://www.bruzzi.com
";
sitoz[3]= "
http://www.google.it
";
sitoz[4]= "
http://www.google.it
";
sitoz[5]= "
http://www.google.it
";
sitoz[6]= "
http://www.google.it
";
sitoz[7]= "
http://www.google.it
";
sitoz[8]= "
http://www.google.it
";
sitoz[9]= "
http://www.google.it
";
sitoz[10]= "
http://www.google.it
";
sitoz[11]= "
http://www.google.it
";
sitoz[12]= "
http://www.google.it
";
sitoz[13]= "
http://www.google.it
";
sitoz[14]= "
http://www.google.it
";
alert("Ciao");
var i = 0;
alert(i);
function opener(){
parent.visibile.location.href = sitoz[i];
alert("debug");
i = i + 1;
alert("funzia");
}
x = window.setinterval(opener(), 5000);
</SCRIPT>
Qualcuno mi sa aiutare?
--
bye
Erix    UIN: 72432400
http://erix.cjb.net

mai usato setinterval, ma vedo da documentazione che occorre specificare il
numero di volte (non dice qual è il default, però, se 1 volta sola o
infinito):
setInterval
The setInterval method can be used to either call a Javascript function, or
evaluate an expression, after a specified time interval (in millisecond) has
expired. For example :
setInterval=MyInterval (startanim(),1000,20,100)
would execute the function startanim(), after 1 second has elapsed (1000
milliseconds), passing it 20 and 100 as arguments to the function. Any
number of arguments can be passed in the setInterval method (i.e. as many as
are required by the function). The setInterval method will repeatedly call
the referenced function, or expression, until the user leaves the document
that contains the script. This is essentially the only difference between it
and the settimeout method, which is only executed once, after the specified
time interval.

 infinito):
Dove?? 20 e 100 sono passati a startanim, no??
E poi per fermare la ripetizione si usa clearinterval.
Tra l'altro la funzione nel mio codice parte subito, non dopo 5 secondi!


Effettivamente mi sa che la documentazione di homesite è sbagliata,
neanch'io capisco bene cosa intende...
meglio
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/ref
erence/methods/setinterval.asp

 x = window.setinterval(opener(), 5000);
setInnteval con la "I" maiuscola. La funzione va fra virgolette:
    x = window.setInterval("opener()", 5000);
Maurizio.

 x = window.setInterval("opener()", 5000);
Grazie >1000< !!
Delle virgolette me ne ero accorto, ma l'avevo lasciato senza perchè nella
mia versione con non funzionava.
--
bye
Erix UIN 72432400
http://erix.cjb.net
--------------------------------
Inviato via 
http://usenet.libero.it

> setInnteval con la "I" maiuscola. La funzione va fra virgolette:
In versions earlier than Microsoft® Internet Explorer 5, the first argument
of setInterval must be a string. Evaluation of the string is deferred until
the specified interval elapses.
As of Internet Explorer 5, the first argument of setInterval can be passed
as a string or as a function pointer.
To pass a function as a string, be sure to suffix the function name with
parentheses.
window.setInterval("someFunction()", 5000);
When passing a function pointer, do not include the parentheses.
window.setInterval(someFunction, 5000);
To retrieve a function pointer, use the code shown in the following example:
function callback()
{
    alert("callback");
}
function callback2()
{
    alert("callback2");
}
function chooseCallback(iChoice)
{
    switch (iChoice)
    {
    case 0:
        return callback;
    case 1:
        return callback2;
    default:
        return "";
    }
}
// if i is 0, callback is invoked after 5 seconds
// if i is 1, callback2 is invoked
// otherwise, the timer is not set
window.setInterval(chooseCallback(i), 5000);