PDA

View Full Version : Semplice script Javascript non compatibile con firefox


zUmBo!
08-05-2007, 19:26
Salve a tutti :D

qualcuno di voi mi sai dire come mai questo script non funziona con firefox?!:muro: :muro: :muro: :muro: :muro: :muro: :muro: :muro: :muro:


<SCRIPT LANGUAGE="JScript">
var id;
function StartGlide()
{
var Banner = document.getElementById("Banner");
Banner.style.pixelLeft =
document.body.offsetWidth;
Banner.style.visibility = "visible";
id = window.setInterval("Glide()",50);
}
function Glide()
{
var Banner = document.getElementById("Banner");
Banner.style.pixelLeft -= 10;
if (Banner.style.pixelLeft<=0) {
Banner.style.pixelLeft=0;
//window.clearInterval(id);
}
}
</SCRIPT>


vi prego rispondetemi sto uscendo pazzoooo :mc: :mc: :mc:

andbin
08-05-2007, 19:46
qualcuno di voi mi sai dire come mai questo script non funziona con firefox?!Semplice: pixelLeft è solo per IE.
Prova ad usare blabla.style.left = val + "px"

zUmBo!
09-05-2007, 09:20
Semplice: pixelLeft è solo per IE.
Prova ad usare blabla.style.left = val + "px"

Ti ringrazio per la tempestiva risposta. Ho provato a seguire il tuo consiglio ma mi fa quest'effetto (io qui ho safari e firefox mac):

su safari, mi posiziona direttamente il livello alla posizione richiesta, in questo caso 100px più avanti della posizione relativa dove il layer si trova cioè in una tabella.

su firefox non compare nulla.

ora ho 2 problemi:

1. farlo visualizzare anche su firefox, 2. far si che il livello non si piazzi direttamente alla posizione desiderata ma che entri da destra con un effetto slide come prima faceva con pixelLeft. Ci vuole forse un ciclo for?
Perdonami, ma io e il javascript non siamo molto amici.

grazie :D


<SCRIPT LANGUAGE="JScript">
var id;
function StartGlide()
{
var Banner = document.getElementById("Banner");
Banner.style.left =
document.body.offsetWidth;
Banner.style.visibility = "visible";
id = window.setInterval("Glide()",50);
}
function Glide()
{
var Banner = document.getElementById("Banner");
Banner.style.left -= 10;
if (Banner.style.left<=0) {
Banner.style.left=100+"px";
window.clearInterval(id);
}
}
</SCRIPT>

andbin
09-05-2007, 09:30
Banner.style.left = document.body.offsetWidth;Banner.style.left = document.body.offsetWidth + "px";

Il +"px" è importante .... non l'ho aggiunto così tanto per scrivere qualcosa!!

zUmBo!
09-05-2007, 09:57
Banner.style.left = document.body.offsetWidth + "px";

Il +"px" è importante .... non l'ho aggiunto così tanto per scrivere qualcosa!!

capisco che giustamente firefox mi chiede l'unità di misura, ma ora l'ho aggiunta e non capisco come mai ancora non vedo il livello :muro:
Poi su safari lo vedo, ma non entra con effetto slide :cry:

<SCRIPT LANGUAGE="JScript">
var id;
function StartGlide()
{
var Banner = document.getElementById("Banner");
Banner.style.left = document.body.offsetWidth + "px";
Banner.style.visibility = "visible";
id = window.setInterval("Glide()",50);
}
function Glide()
{
var Banner = document.getElementById("Banner");
Banner.style.left -= 10;
if (Banner.style.left<=0) {
Banner.style.left=100+"px";
window.clearInterval(id);
}
}
</SCRIPT>