Avatar billede ettig Nybegynder
17. november 2010 - 08:54 Der er 3 kommentarer

Javascrips virker ikke i Firefox

Jeg er ved at pudse mit jule tema af til min PHP-Fusion side, så det er klar til den første december. Jeg har blandt andet lagt et Javascript ind, så der er dalende sne på siden. Men af en eller anden grund virker Javascriptet ikke i Firefox - det ser fint ud i IE.

Koden til scriptet ser således ud:

1.// seteaza numarul de fulgi (nu se recomanda mai mult de 30-40)2.var snowmax=393. 4.// seteaza culorile fulgilor.Puteti adauga cate culori vreti5.var snowcolor=new Array("#aaaacc","#ddddFF","#ccccDD")6. 7.// seteaza fonturile pentru fulgi. Si aici puteti adauga si alte fonturi daca vreti8.var snowtype=new Array("Arial Black","Arial Narrow","Times","Comic Sans MS")9. 10.// seteaza caracterul pentru fulgi (recomandat: *)11.var snowletter="*"12. 13.// seteaza viteza de cadere a fulgilor (valori recomandate: intre 0.3 to 2)14.var sinkspeed=0.615. 16.// seteaza dimensiunea maxima a fulgilor17.var snowmaxsize=5018. 19.// seteaza dimensiunea minima a fulgilor20.var snowminsize=2021. 22.// seteaza zona de cadere a fulgilor23.// 1 pentru cadere peste tot, 2 pentru stanga a ecranului24.// 3 pentru centru, 4 pentru dreapta ecranului25.var snowingzone=126. 27.///////////////////////////////////////////////////////////////////////////28.// AICI SE TERMINA PARTEA DE CONFIGURARE29.///////////////////////////////////////////////////////////////////////////30. 31. 32.// NU EDITATI ACESTE VALORI DE MAI JOS33.var snow=new Array()34.var marginbottom35.var marginright36.var timer37.var i_snow=038.var x_mv=new Array();39.var crds=new Array();40.var lftrght=new Array();41.var browserinfos=navigator.userAgent42.var ie5=document.all&&document.getElementById&&!browserinfos.match(/Opera/)43.var ns6=document.getElementById&&!document.all44.var opera=browserinfos.match(/Opera/)45.var browserok=ie5||ns6||opera46. 47.function randommaker(range) {48.rand=Math.floor(range*Math.random())49.return rand50.}51. 52.function initsnow() {53.if (ie5 || opera) {54.marginbottom = document.body.clientHeight55.marginright = document.body.clientWidth56.}57.else if (ns6) {58.marginbottom = window.innerHeight59.marginright = window.innerWidth60.}61.var snowsizerange=snowmaxsize-snowminsize62.for (i=0;i<=snowmax;i++) {63.crds[i] = 0;64.lftrght[i] = Math.random()*15;65.x_mv[i] = 0.03 + Math.random()/10;66.snow[i]=document.getElementById("s"+i)67.snow[i].style.fontFamily=snowtype[randommaker(snowtype.length)]68.snow[i].size=randommaker(snowsizerange)+snowminsize69.snow[i].style.fontSize=snow[i].size70.snow[i].style.color=snowcolor[randommaker(snowcolor.length)]71.snow[i].sink=sinkspeed*snow[i].size/572.if (snowingzone==1) {snow[i].posx=randommaker(marginright-snow[i].size)}73.if (snowingzone==2) {snow[i].posx=randommaker(marginright/2-snow[i].size)}74.if (snowingzone==3) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4}75.if (snowingzone==4) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2}76.snow[i].posy=randommaker(2*marginbottom-marginbottom-2*snow[i].size)77.snow[i].style.left=snow[i].posx78.snow[i].style.top=snow[i].posy79.}80.movesnow()81.}82. 83.function movesnow() {84.for (i=0;i<=snowmax;i++) {85.crds[i] += x_mv[i];86.snow[i].posy+=snow[i].sink87.snow[i].style.left=snow[i].posx+lftrght[i]*Math.sin(crds[i]);88.snow[i].style.top=snow[i].posy89. 90.if (snow[i].posy>=marginbottom-2*snow[i].size || parseInt(snow[i].style.left)>(marginright-3*lftrght[i])){91.if (snowingzone==1) {snow[i].posx=randommaker(marginright-snow[i].size)}92.if (snowingzone==2) {snow[i].posx=randommaker(marginright/2-snow[i].size)}93.if (snowingzone==3) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4}94.if (snowingzone==4) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2}95.snow[i].posy=096.}97.}98.var timer=setTimeout("movesnow()",50)99.}100. 101.for (i=0;i<=snowmax;i++) {102.document.write("<span id='s"+i+"' style='position:absolute;top:-"+snowmaxsize+"'>"+snowletter+"</span>")103.}104.if (browserok) {105.window.onload=initsnow106.}

Er der nogen der kan hjælpe med at få det til at virke i Firefox, da jeg selv ingen forstand har på Javascript?
Avatar billede ettig Nybegynder
17. november 2010 - 08:56 #1
I får lige scriptet i en mere overskulige form, ved ikke helt hvorfor den valgte at klemme det hele sammen til en pærevælling.

// seteaza numarul de fulgi (nu se recomanda mai mult de 30-40)
var snowmax=39

// seteaza culorile fulgilor.Puteti adauga cate culori vreti
var snowcolor=new Array("#aaaacc","#ddddFF","#ccccDD")

// seteaza fonturile pentru fulgi. Si aici puteti adauga si alte fonturi daca vreti
var snowtype=new Array("Arial Black","Arial Narrow","Times","Comic Sans MS")

// seteaza caracterul pentru fulgi (recomandat: *)
var snowletter="*"

// seteaza viteza de cadere a fulgilor (valori recomandate: intre 0.3 to 2)
var sinkspeed=0.6

// seteaza dimensiunea maxima a fulgilor
var snowmaxsize=50

// seteaza dimensiunea minima a fulgilor
var snowminsize=20

// seteaza zona de cadere a fulgilor
// 1 pentru cadere peste tot, 2 pentru stanga a ecranului
// 3 pentru centru, 4 pentru dreapta ecranului
var snowingzone=1

///////////////////////////////////////////////////////////////////////////
// AICI SE TERMINA PARTEA DE CONFIGURARE
///////////////////////////////////////////////////////////////////////////


// NU EDITATI ACESTE VALORI DE MAI JOS
var snow=new Array()
var marginbottom
var marginright
var timer
var i_snow=0
var x_mv=new Array();
var crds=new Array();
var lftrght=new Array();
var browserinfos=navigator.userAgent
var ie5=document.all&&document.getElementById&&!browserinfos.match(/Opera/)
var ns6=document.getElementById&&!document.all
var opera=browserinfos.match(/Opera/)
var browserok=ie5||ns6||opera

function randommaker(range) {
rand=Math.floor(range*Math.random())
return rand
}

function initsnow() {
if (ie5 || opera) {
marginbottom = document.body.clientHeight
marginright = document.body.clientWidth
}
else if (ns6) {
marginbottom = window.innerHeight
marginright = window.innerWidth
}
var snowsizerange=snowmaxsize-snowminsize
for (i=0;i<=snowmax;i++) {
crds[i] = 0;
lftrght[i] = Math.random()*15;
x_mv[i] = 0.03 + Math.random()/10;
snow[i]=document.getElementById("s"+i)
snow[i].style.fontFamily=snowtype[randommaker(snowtype.length)]
snow[i].size=randommaker(snowsizerange)+snowminsize
snow[i].style.fontSize=snow[i].size
snow[i].style.color=snowcolor[randommaker(snowcolor.length)]
snow[i].sink=sinkspeed*snow[i].size/5
if (snowingzone==1) {snow[i].posx=randommaker(marginright-snow[i].size)}
if (snowingzone==2) {snow[i].posx=randommaker(marginright/2-snow[i].size)}
if (snowingzone==3) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4}
if (snowingzone==4) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2}
snow[i].posy=randommaker(2*marginbottom-marginbottom-2*snow[i].size)
snow[i].style.left=snow[i].posx
snow[i].style.top=snow[i].posy
}
movesnow()
}

function movesnow() {
for (i=0;i<=snowmax;i++) {
crds[i] += x_mv[i];
snow[i].posy+=snow[i].sink
snow[i].style.left=snow[i].posx+lftrght[i]*Math.sin(crds[i]);
snow[i].style.top=snow[i].posy

if (snow[i].posy>=marginbottom-2*snow[i].size || parseInt(snow[i].style.left)>(marginright-3*lftrght[i])){
if (snowingzone==1) {snow[i].posx=randommaker(marginright-snow[i].size)}
if (snowingzone==2) {snow[i].posx=randommaker(marginright/2-snow[i].size)}
if (snowingzone==3) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4}
if (snowingzone==4) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2}
snow[i].posy=0
}
}
var timer=setTimeout("movesnow()",50)
}

for (i=0;i<=snowmax;i++) {
document.write("<span id='s"+i+"' style='position:absolute;top:-"+snowmaxsize+"'>"+snowletter+"</span>")
}
if (browserok) {
window.onload=initsnow
}
Avatar billede webweaver Praktikant
17. november 2010 - 10:01 #2
Well, har du slået JavaScript fra i FF?
Virker andre scripts hos dig?
Avatar billede jarner Nybegynder
17. november 2010 - 11:13 #3
Du kan evt. erstatte

if (browserok) {
window.onload=initsnow
}

med

window.onload=initsnow

og omskrive

else if (ns6) {

til

else {

og se om den kan køre det uden browser-tjek, for at se om det er det der går galt.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester