Multidesk.be » Forums » Webdevelopment & -scripting » Klasse van body togglen op muisklik (gesloten)

Helpinformatie
Dit onderwerp werd gesloten.
Het is bijgevolg niet mogelijk er nog op te reageren.
  • Pagina
  • 1 van 1
  • RSS
  • Eerste ongelezen reactie
  • Plaats een reactie
  • Abonneer mij
  • Onderwerp sluiten
0 gasten lezen dit onderwerp.
^ Onderwerp geschreven door Ezio op vrijdag 15 mei 2015 om 11:31:34.
Ezio's avatar
Multiviteit: 973
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
De Javascriptgoden zijn me niet gunstig gezind. Ik heb een CSS klasse 'background' die ik wil toekennen aan de volledige body als er geklikt wordt op de inhoud van de body. En vice versa, de klasse moet terug worden verwijderd van de body als er nogmaals geklikt wordt. Er wordt wel degelijk getoggled tussen de verschillende klassenamen, maar toch blijft de achtergrondkleur gewoon wit :/ Iemand een idee? :)

http://codepen.io/ThibaultG4U/pen/bdpJWJ
I'm a gamer because I don't have a life... I've chosen to have many
^ Reactie #1 geschreven door thekid op vrijdag 15 mei 2015 om 11:57:06.
thekid's avatar
Multiviteit: 5273
Moderator
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
aandachtiger werken ezio ;)

Je haalt in uw voorbeeld eerst het element, en dan maak je van die variable een lege string. Waarna je dan opnieuw enkel die lege string verandert, maar niets dat met je element te doen heeft (Immutable artikel gelezen op vorige vraag? ;))

bon deze veranderingen zou de oplossing moeten brengen (en nog een kleine opmerking, je kan verschillende klassen op een element zetten, dus indien je body element nog een andere klasse zou meekrijgen, dan zal je script niet meer zo goed werken)

CODE
  1. var bgcolor = document.getElementsByTagName('body')[0];
  2. bgcolor.className = "";
  3.  
  4. document.body.addEventListener('click', function() {
  5.   alert("huidige klassenaam: " + bgcolor.className);
  6.   var klasseNaam;
  7.   if (bgcolor.className == "") {
  8.     klasseNaam = "background";
  9.   } else {
  10.     klasseNaam = "";
  11.   }
  12.   //alert("nieuwe klassenaam: " + klasseNaam);
  13.   bgcolor.className = klasseNaam;
  14.  
  15. }, false);
Deze tekst werd het laatst bewerkt voor 11.22 % door thekid op vrijdag 15 mei 2015 om 11:58:05.
"Human beings make life so interesting. Do you know, that in a universe so full of wonders, they have managed to invent boredom." - Death in Hogfather
^ Reactie #2 geschreven door Ezio op vrijdag 15 mei 2015 om 12:16:16.
Ezio's avatar
Multiviteit: 973
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
Dacht nog dat het weer een Immutable Object zou zijn die de boosdoener is. Ik had ook constant x.style.className gebruikt terwijl ik die 'style' achterwege moest laten.

Wederom bedankt, thekid!

Opmerking van de crew

Bij deze dan een slotje
thekid
I'm a gamer because I don't have a life... I've chosen to have many
  • Pagina
  • 1 van 1
  • RSS
  • Eerste ongelezen reactie
  • Plaats een reactie
  • Abonneer mij
  • Onderwerp sluiten