Div kleur veranderen na klik

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior, Medior and Junior SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Veldhoven Vacature ID: 12696 Introductie Our client is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. Wat verwachten we van jou? SAP Certified Application Associate - SAP HANA Cloud Modeling (training and/or certification) Bachelor degree or higher Excellent understanding of SAP HANA (2.0 / Cloud), Data Modelling and writing

Bekijk vacature »

20/05/2013 16:04:16
Quote Anchor link
Ik heb dus een aantal Divs in hrefs staan. Ik dacht iets in de zin van

<a href="Home.html" onclick="myunction();"><div class = "button">Home</div></a>

function myfunction () {
document.getElementsByClassName(button)
}
en dan de kleur aanpassen?
Gewijzigd op 20/05/2013 16:48:15 door
 
PHP hulp

PHP hulp

29/04/2024 18:24:48
 
Nick Dijkstra

Nick Dijkstra

20/05/2013 16:20:15
Quote Anchor link
Dat gaat niet met javascript. Want zo te zien zijn het allemaal aparte html pagina's?
Als dat idd zo is kan je op elke pagina de knop bijv de class current meegeven.
 
Wouter J

Wouter J

20/05/2013 16:20:58
Quote Anchor link
Die linkjes lijken op een menu, dan moet je sowieso een list (<ul> en <li>) gebruiken en geen divs. Ten tweede denk ik dat het geen je nu wilt niet juist is. Dat betekend namelijk dat de kleur heel even veranderd, maar direct daarna ga je al naar een andere pagina en is de kleur dus weer weg. Om de kleur te behouden moet je op elke pagina het huidige menu item een klasse meegeven, bijv. .current.

Om je JS kennis te verrijken. Je zou het zoiets doen (ervan uit gaand dat je een class .current hebt voor de stijl):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<ul id=menu>
    <li><a href="home.html">Home</a></li>
    <!-- ... -->
</ul>

<script>
var menu = document.getElementById('menu'); // krijg #menu
var listItems = document.getElementsByTagName('li'); // alle <li> elementen in #menu

// foreach in JS
[].forEach.call(listItems, function (elem) {
    // we stellen het onclick element in, dit gaan we niet meer inline in HTML doen
    elem.onlick = function (e) {
        // this is het huidige element en
        // className is de class attribuut
        this.className += ' current'; // voeg de current class toe
    });
});
</script>
 
Willem vp

Willem vp

20/05/2013 16:40:43
Quote Anchor link
Je zou het ook ongeveer zo in PHP kunnen doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<ul id="menu">
   <?php
      generateLink("/home.html", "Home");
      generateLink("/historiek.html", "Historiek");
      # etc
   ?>

</ul>
<?php
function generateLink($url,$desc)
{

   printf('<li%s><a href="%s">%s</a></li>',
      (
basename($_SERVER['PHP_SELF']) == basename($url)) ? ' class="current"' : '',
      $url,
      $desc
   );
}

?>

(disclaimer: code is niet getest ;-) )
Gewijzigd op 20/05/2013 16:42:37 door Willem vp
 
Daniel Vos

Daniel Vos

23/05/2013 22:45:39
Quote Anchor link
Ik weet niet zeker of ik begrijp wat je wil maar misschien kun je dit eens proberen want hiermee veranderen alle divs van kleur als je op ééntje drukt:

<a href="Home.html"><div class="button" onclick="myfunction();" style="background-color:#FF0000;">Home</div></a>

<script>
function myfunction()
{
var divs = document.getElementsByClassName("button");

for(i = 0; i < divs.length; i++)
{
divs.style.backgroundColor = "#FFD700";
}
}
</script>


en met deze veranderd alleen de div waar je op drukt van kleur:

<a><div class="button" onclick="myfunction(this);" style="background-color:#FF0000;">Home</div></a>

<script>
function myfunction(e)
{
e.style.backgroundColor = "#FFD700";
}
</script>
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.