[Javascript]: errore di sintassi che non capisco.

Pubblicità

LS1987

Utente Èlite
Messaggi
3,537
Reazioni
517
Punteggio
141
Buongiorno, ho scritto questo codice. Alla riga evidenziata in rosso la console degli errori mi dà errore di sintassi sotto l'if. Sinceramente non capisco il motivo. La soluzione dell'esercizio che ho fatto si trova al seguente link: Esercizio dei colori
Poi dovete fare view source.

Il mio if è uguale identico a quello della soluzione. Avrò fatto degli errori, ma lì non credo, dato che sull'altro codice non dà errore e visualizza il prompt correttamente.
Codice:
<html>
<head>
<title>Esercizio dei colori</title>
<script language="JavaScript" content="text/Javascript">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
var testo;
var sfondo;
var titolo;
var dimensione;

var testo_default = "black";
var sfondo_default = "white";
var titolo_default = "blue";
var dimensione_default = 50;

dimensione = prompt("Inserisci la dimensione di default per il carattere", dimensione_default);
dimensione = dimensione * 1;
testo = prompt ("Inserisci un colore per il testo", testo_default);
titolo = prompt ("Inserisci un colore per il titolo", titolo_default);
if (titolo == testo) {
    [COLOR="Red"]if (titolo != titolo_default) {[/COLOR]
        titolo = titolo_default;
    }
    else {
        testo = testo_default;
    }
}

sfondo = prompt("Inserisci un colore per lo sfondo", sfondo_default);

if (sfondo == testo) {
    alert("colore sfondo == colore testo");
    if (sfondo != sfondo_default) {
        sfondo = sfondo_default;
    } else {
        testo = testo_default:
        
        if (testo == titolo) {
            titolo = titolo_default;
        }
    }
}

if (sfondo == titolo) {

    if (sfondo != sfondo_default) {
        sfondo = sfondo_default;
    } else {
        titolo = titolo_default;
        
        if (titolo == testo) {
            testo = testo_default;
        }
    }
    
}

if (titolo == "*" || sfondo == "*" || testo == "*")
{

document.writeln("NNN");

}
else {
    document.writeln("<style>");
    document.writeln("body {backgroud-color: " + sfondo "; color:" + testo + "}");
    document.writeln("p {color:" + testo è "}");
    
    document.writeln("h1 {color:" + titolo + ";font-size: " + dimensione* 3 + "%; font-weight: bold}");
    document.writeln("h2 {color:" + titolo + ";font-size: " + dimensione* 2 + "%}");
    document.writeln("h3 (color:" + titolo + ":font-size: " + dimensione + "%; font-weight: bold; font-style: italic)");
    document.wrileln("</style>");
    
</script>

</head>
<body>
<h1> esercizio dei colori </h1>
<h2> esercizio dei colori, titolo 2 </h2>
<h3> es colori </h3>
<p>  fine </p>
</body>
</html>
 
Codice:
testo = testo_default:
devi mettere il punto e virgola e non i due punti.

Correggi anke l'else con questo qui
Codice:
 else{
document.writeln("<style>"); 
document.writeln("body {background-color: " + sfondo + "; color:" + testo + "}");
document.writeln("p {color:" + testo + "}"); 
document.writeln("h1 {color:" + titolo + ";font-size: " + dimensione*3 + "%; font-weight: bold}");
document.writeln("h2 {color:" + titolo + ";font-size: " + dimensione*2 + "%}");
document.writeln("h3 {color:" + titolo + ";font-size: " + dimensione + "%; font-weight: bold; font-style: italic}");
document.writeln("</style>");
}
Avevi scordato qualche + :)
 
Codice:
testo = testo_default:
devi mettere il punto e virgola e non i due punti.
Nella fretta ho sbagliato un carattere.

Correggi anke l'else con questo qui
Codice:
 else{
document.writeln("<style>"); 
document.writeln("body {background-color: " + sfondo + "; color:" + testo + "}");
document.writeln("p {color:" + testo + "}"); 
document.writeln("h1 {color:" + titolo + ";font-size: " + dimensione*3 + "%; font-weight: bold}");
document.writeln("h2 {color:" + titolo + ";font-size: " + dimensione*2 + "%}");
document.writeln("h3 {color:" + titolo + ";font-size: " + dimensione + "%; font-weight: bold; font-style: italic}");
document.writeln("</style>");
}
Avevi scordato qualche + :)

Non riesco a spiegarmi per quale motivo invece di darmi errore sulla riga 35, mi dava errore sulla riga 21? Come mai la console degli errori di Firefox non mi diceva niente sulle righe con i +?

Vado OT: mi conviene passare a JSLint per controllare la qualità del codice?
 
Io ti consiglio dreamweaver! Mi sono sempre trovato bene con quello :) cmq ti consiglio di controllare il codice con uno di questi programmi per evitare di cascare in errori che la console di Firefox come vedi a volte non segnala!
 
Pubblicità
Pubblicità
Indietro
Top