Css class veranderen met Javascript

Javascript kan in principe alle html en css beïnvloeden binnen een document. Toch heeft het als nadeel dat je website technisch onleesbaar kan worden als je teveel aanpast met Javascript. Dat kan voor frustraties zorgen als je bijvoorbeeld met iemand anders samenwerkt aan een site of als je na lange tijd aanpassingen moet doen.

Een goede oplossing hiervoor is om css classes van html elementen toe te voegen of te verwijderen. Op die manier zijn de verschillende css opmaak instellingen goed zichtbaar omdat ze allemaal als classes in het css document terug zijn te vinden. Het enige wat Javascript doet is een css class weghalen of toevoegen aan een element. Je zult zien dat dat direct gevolgen heeft voor het uiterlijk van het html element. Als voorbeeld maken we een vierkante knop die rond wordt als erop geklikt wordt.

 

Stap 1. Start met een nieuw html document, met daarin een a-tag. Deze tag willen we later aanpassen met Javascript, daarom geven we alvast een id.

<body>
     <a id=”knop” href=”#”> </a>
</body>

Vervolgens beschrijven we met css het uiterlijk van ‘knop’.

<style>
a#knop
{
     width:100px;
     height:100px;
     display:block;
     background-color:#000;
     border:#FFF 2px dashed;
     box-shadow:#000 0px 0px 0px 4px;
}
</style>

 

Stap 2. We hebben nu een vierkante knop. We willen dat die knop rond wordt als erop geklikt wordt. Het eerste wat we doen is het aangepaste uiterlijk beschrijven in een nieuwe class:

<style>
a#knop
{
width:100px;
height:100px;
display:block;
background-color:#000;
border:#FFF 2px dashed;
box-shadow:#000 0px 0px 0px 4px;
}

.rond
{
border-radius:50%;
}
</style>

 

Stap 3. De class waarin beschreven staat dat de knop rond moet zijn bestaat nu, maar heeft nog geen invloed omdat de class nog niet gekoppeld is aan de knop. Dat gaan we doen met Javascript. Om te beginnen moet de knop een Javascript functie uitvoeren als erop geklikt wordt. We noemen die functie ‘verandClass()’. Omdat Javascript die functie niet kent moeten we die  zelf maken. Dat doen we binnen de script-tag.

<a id=”knop” href=”#” onclick=”veranderClass()”> </a>

<script type=”text/javascript”>

     function veranderClass()
     {

     }
</script>

 

Stap 4. Als de knop aangeklikt wordt, moet javascript een class  bijschrijven in de html code, om precies te zijn in de a-tag met de id ‘knop’. Daarvoor moet Javascript eerst in het html document op zoek naar een tag met de id ‘knop’. Het is niet handig als Javascript bij iedere aanpassing opnieuw moet gaan zoeken. Daarom gebruiken we een variabel met de naam ‘knop’. Die symbool staat voor een html-tag met de id ‘knop’.

<script type=”text/javascript”>

     var knop=document.getElementById(“knop”);

     function veranderClass()
     {

     }

</script>

Vervolgens kunnen we in de functie ‘veranderClass’ de opdracht geven de class ‘rond’ toe te voegen aan ‘knop’.

<script type=”text/javascript”>
     var knop=document.getElementById(“knop”);

     function veranderClass()
     {
          knop.className=”rond”;
     }
</script>

 

We hebben nu een heel eenvoudig voorbeeld wat met 1 keer klikken werkt. Het blijft een simpele knop, maar het voorbeeld wordt net iets mooier als we kunnen wisselen tussen rond en vierkant. Als laatste stap gaan we  de functie ‘veranderClass’ uitbreiden door Javascript te laten kiezen: Als de knop geen class ‘rond’ heeft wordt de class ‘rond’ toegevoegd. Als de knop wel een class ‘rond’ heeft wordt de class ‘rond’ verwijderd (en wordt de knop vierkant).

<script type=”text/javascript”>
     var knop=document.getElementById(“knop”);

     function veranderClass()
     {
          if(knop.className==”rond”)
          {
               knop.className=””;
          }
          else
          {
               knop.className=”rond”;
          }
}
</script>

 

54 thoughts on “Css class veranderen met Javascript”

  1. На связи Екапуста. Так много не честных компаний развелось выдающих займы онлайн, сколько невозможно встречать неоплачиваемый сервис подбора займов без регистрации и списывания денег за подбора. Както наткнулся для подходящий сайте где дают круглосуточные займы.
    Беру займы на карту онлайн только здесь в микрокредитной компании Екапуста
    екапуста кабинет

  2. ######## FREE #########
    ULTIMATE РТНС COLLECTION
    NO PAY, PREMIUM or PAYLINK
    DOWNLOAD ALL СР FOR FREE
    =======================
    Description:-> gg.gg/e8ioj
    =======================
    Webcams РТНС 1999-2020 FULL
    STICKAM, Skype, video_mail_ru
    Omegle, Vichatter, Interia_pl
    BlogTV, Online_ru, murclub_ru
    =======================
    Complete series LS, BD, YWM
    Sibirian Mouse, St. Peterburg
    Moscow, Liluplanet, Kids Box
    Fattman, Falkovideo, Bibigon
    Paradise Birds, GoldbergVideo
    Fantasia Models, Cat Goddess
    Valya and Irisa, Tropical Cuties
    Deadpixel, PZ-magazine, BabyJ
    Home Made Model (HMM)
    =======================
    Gay рthс collection: Luto
    Blue Orchid, PJK, KDV, RBV
    =======================
    Nudism: Naturism in Russia
    Helios Natura, Holy Nature
    Naturist Freedom, Eurovid
    =======================
    ALL studio collection: from
    Acrobatic Nymрhеts to Your
    Lоlitаs (more 100 studios)
    =======================
    Collection european, asian,
    latin and ebony girls (all
    the Internet video) > 4Tb
    =======================
    Rurikon Lоli library 171.4Gb
    manga, game, anime, 3D
    =======================
    This and much more here:
    or –> gg.gg/ezl52
    or –> xtl.jp/?aj
    or –> xor.tw/4pt0y
    or –> v.ht/nCMCF
    or –> cutt.us/Kiet0
    or –> gg.gg/fzk4d
    or –> v.ht/Pap1
    or –> xtl.jp/?Of
    or –> gg.gg/fzl0u
    ######## FREE #########
    —————–
    —————–xrw

Leave a Reply

Your email address will not be published. Required fields are marked *