Sari la conținut
ELFORUM - Forumul electronistilor

icon-uri condiționate în html


XAN77

Postări Recomandate

  • Răspunsuri 24
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

Top autori în acest subiect

Acum 2 minute, x_dadu a spus:

Mulțumesc mult pentru atenția acordată, meritați o bere.

Nu scapi asa usor. :)
Acum este randul tau.
Prin analogie cu ce am postat, fa termometrul sa aiba culorea rosie daca sunt peste 25 de grade, si verde daca sub temperatura asta. 

 

Link spre comentariu

am făcut așa și merge, se schimbă culoarea.

<i class="fas fa-thermometer-half" id="id-color" style="color:#059e8a;"></i>
.
.
.
    if(this.responseText<=25)
        document.getElementById("id-color").setAttribute("style","color:#059e8a;");
    else
      document.getElementById("id-color").setAttribute("style","color:#ff3333;");

 

apoi am încercat ambele chestii cumulate, icon diferit și culoare diferită, dar nu mai merge, iconu se schimbă dar culoarea nu:

<i id="id-thermo" class="fas fa-thermometer-half" id="id-color" style="color:#059e8a;"></i
  .
  .
  .
    if(this.responseText<=25)
        {document.getElementById("id-thermo").setAttribute("class","fas fa-thermometer-half");
        document.getElementById("id-color").setAttribute("style","color:#059e8a;");}
    else
      {document.getElementById("id-thermo").setAttribute("class","fas fa-thermometer-full");
      document.getElementById("id-color").setAttribute("style","color:#ff3333;");}

 

Link spre comentariu
Acum 10 minute, x_dadu a spus:
<i class="fas fa-thermometer-half" id="id-color" style="color:#059e8a;"></i>

Gresit. "id" se refara la tagul <i> nu la "class" sau la "style".
Pune doar id="id-thermo".

Si apoi: 

{
document.getElementById("id-thermo").setAttribute("class","fas fa-thermometer-half");
document.getElementById("id-thermo").setAttribute("style","color:#059e8a;");
}


 

Link spre comentariu

Tema pentru viitor:
Culoarea sa se schimbe functie de temperatura. In pasi de 5 grade sa zicem. Fara if ... else !
Si iconita cu termometru se poate schimba fara prea multe if...else.
Vad ca exista si imagini cu diverse nivele de temperatura cu numele: fa-terhmometer-0 , fa-terhmometer-1 ... 4
Dar aici las pe tizul @Liviu M. Ca el iubeste optimizarile :)
LE: Si parca prea multe apelari de document.getElementById("id-thermo") . Nu ?

 


 

Editat de Vizitator
Link spre comentariu
1 oră în urmă, x_dadu a spus:

Întradevăr sunt ceva apelări de getElementById, să înțeleg că e și un alt mod mai elegant !?

Ceva mai elegant, codul ar fi asa:
 

var Tclass,Tstyle;
var Tid=document.getElementById("id-thermo");

if( ...)
{
	Tclass="fas fa-thermometer-full";
	Tstyle="color:red;"
}
else
{
	Tclass="fas fa-thermometer-half";
	Tstyle="color:green;"
}

Tid.setAttribute("class",Tclass);
Tid.setAttribute("style",Tstyle);


Eventual, pentru a nu pune browser la treaba degeaba, se poate testa daca a avut loc o schimbare de temperatura care sa presupuna actualizarea elementelor de pe ecran (icoana termometru sau culoare). Dar mergem prea departe.

Editat de Vizitator
Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări