Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: ciclo if ...

  1. #1

    ciclo if ...

    salve amici, ho un nuovo problemino, e spero vogliate darmi una mano....
    ho fatto un ciclo IF che al verificarsi di una condizione mi nasconde un div e ne mostra un altro.... purtroppo i div si vedono entrambi.... posto il codice, magari sbaglio qualcosa io....

    if (TempConfort=="1") { document.getElementById("acceso").style.display="h idden"; document.getElementById("spento").style.display="n one"; document.getElementById("LblOutput4").innerHTML = "uno " + TempConfort; } else if (TempConfort=="0") { document.getElementById("spento").style.display="h idden"; document.getElementById("acceso").style.display="n one"; document.getElementById("LblOutput4").innerHTML = "zero " + TempConfort; } }

    da premettere che l'ultima riga di entrambe le opzioni document.getElementById("LblOutput4").innerHTML = "zero " + TempConfort;
    funziona, o meglio e l'unica cosa ch e mi scrive a video.....
    sapreste dirmi dove sbaglio?

  2. #2
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    "hidden" non è un valore possibile di "display", ma di "visibility"

  3. #3
    display : block/none
    visibility: visible/hidden

  4. #4
    ciao cari, buongiorno.
    grazie per l'interesse, hidden l'ho usato quando ho visto che block/none non funzionava.....

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    codice:
    document.getElementById("acceso").style.display= (TempConfort==1) ? "block" : "none" ;
    document.getElementById("spento").style.display= (TempConfort==0) ? "none" : "block";
    document.getElementById("LblOutput4").innerHTML = "uno " + TempConfort;
    TempConfort = 1 acceso visibile TempConfort = 0 spento invisibile
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    ciao cavicchiandrea, intanto grazie sto già andando al collaudo. Vorrei chiederti, se puoi spiegarmi quello che hai scritto, fare solo copia e incolla è bello, ma è molto meglio capire.....

  7. #7
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Per una variabile che deve continuamente alternare 0 e 1 è possibile utilizzare l'operatore binario XOR:

    codice:
    var nFlag = 0;
    alert(nFlag);
    nFlag ^= 1;
    alert(nFlag);
    nFlag ^= 1;
    alert(nFlag);
    // etc etc
    Ma di solito si usa per le bitmask. A te conviene usare un singolo booleano:

    codice:
    var bBool = false;
    alert(bBool);
    bBool = !bBool;
    alert(bBool);
    bBool = !bBool;
    alert(bBool);
    // etc etc

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Io ho usato l'operatore ternario per fare i controlli, ma probabilmente il tuo errore era verificare dei numeri come stringhe
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  9. #9
    innanzitutto, per la cronaca, è doveroso dire che il problema è stato risolto. Ho applicato il metodo di cavicchiandrea. Ho scoperto fra l'altro che il div "spento" era annidato nel div "acceso", per un errore mio.... probabilmente era questo che mi faceva impazzire...
    comunque, ora funziona tutto.... grazie!!!!!

    carlo correggimi:

    inizializzo bBool con false. e leggo il valore (alert).
    poi gli assegno il contrario di false (true) e leggo.
    In questo modo la var bBool mi cambia da true a false continuamente in un circolo..... vizioso!!!!!
    la variabile non deve variare da sola, ma alla pressione di un pulsante.....


    adesso vado un pò OT. Lo javascript che mi ha postato andrea, che versione è?
    mi consigliate un testo utile per approfondire?
    grazie....

  10. #10
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Originariamente inviato da spruzzolo
    inizializzo bBool con false. e leggo il valore (alert).
    poi gli assegno il contrario di false (true) e leggo.
    In questo modo la var bBool mi cambia da true a false continuamente in un circolo..... vizioso!!!!!
    la variabile non deve variare da sola, ma alla pressione di un pulsante.....
    Tutto giusto

    Originariamente inviato da spruzzolo
    adesso vado un pò OT. Lo javascript che mi ha postato andrea, che versione è?
    mi consigliate un testo utile per approfondire?
    grazie....
    Versione 1.0, ovvero gli albori.

    Si chiamano operatori ternari (https://developer.mozilla.org/en/Jav...ional_Operator)

    P.S. Le parentesi di (TempConfort==1) ? e (TempConfort==0) ? sono pleonastiche.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.