meerdere classes waarvan er maar 1 moet activeren

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Albert de Wit

Albert de Wit

23/09/2012 20:42:35
Quote Anchor link
Hallo,

De titel is wat moeilijk te begrijpen maar waar ik op doel is het volgende:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
$(document).ready(function() {
  $('.item').mouseenter(function(){
    $('.item > div').show();
  });
  $('.item').mouseleave(function(){
    $('.item > div').hide();
  });  
});



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
20
<div class="item">
    <div class="close" hidden>
        <p>X</p>
    </div>
</div>
<div class="item">
    <div class="close" hidden>
        <p>X</p>
    </div>
</div>
<div class="item">
    <div class="close" hidden>
        <p>X</p>
    </div>
</div>
<div class="item">
    <div class="close" hidden>
        <p>X</p>
    </div>
</div>


Als ik met mijn muis op een 'item' kom, wil ik dat er een X tevoorschijn komt. Zodra de muis eruit gaat, moet de X verdwijnen. Dit heb ik op deze manier proberen te bewerkstelligen maar tevergeefs. Hij activeert ze allemaal. Weet iemand hoe ik dit (beter) kan oplossen?

Alvast hartstikke bedankt
 
PHP hulp

PHP hulp

25/11/2024 15:36:39
 
Nick Dijkstra

Nick Dijkstra

23/09/2012 20:49:27
Quote Anchor link
Dan zou je het zo moeten doen: (als het goed is)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
$(document).ready(function() {
  $('.item').mouseenter(function(){
    $(this+'>div').show();
  });
  $('.item').mouseleave(function(){
    $(this+'>div').hide();
  });  
});
Gewijzigd op 23/09/2012 20:50:32 door Nick Dijkstra
 
Albert de Wit

Albert de Wit

23/09/2012 20:55:42
Quote Anchor link
Hmm... hij laat hem nu helemaal niet meer zien. Ik denk niet dat jouw code werkt Nick

Toevoeging op 23/09/2012 21:09:44:

wat ik probeer te krijgen is als ik op 1 van de 4 vlakken sta, dat alleen die ene X tevoorschijn komt, en niet die andere 3 ook. Dat gebeurt er nu.
 
Nick Dijkstra

Nick Dijkstra

23/09/2012 21:12:51
Quote Anchor link
Deze werkt wel(als er geen extra div's in staan):

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
$(document).ready(function() {
  $('.item').mouseenter(function(){
    $(this).children().show();
  });
  $('.item').mouseleave(function(){
    $(this).children().hide();
  });  
});
Gewijzigd op 23/09/2012 21:14:27 door Nick Dijkstra
 
Albert de Wit

Albert de Wit

23/09/2012 21:17:53
Quote Anchor link
prachtig! het werkt perfect hoor!

snel even een vraagje, children heeft ()

wat kan daar tussen komen te staan? gewoon nieuwsgierig hoor
 
Nick Dijkstra

Nick Dijkstra

23/09/2012 21:20:04
Quote Anchor link
.children( [selector] )
selector: A string containing a selector expression to match elements against.


Example: Find all children with a class "selected" of each div.
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
20
21
22
<!DOCTYPE html>
<html>
<head>
  <style>

  body { font-size:16px; font-weight:bolder; }
  p { margin:5px 0; }
  </style>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
  <div>
    <span>Hello</span>
    <p class="selected">Hello Again</p>
    <div class="selected">And Again</div>

    <p>And One Last Time</p>
  </div>
<script>$("div").children(".selected").css("color", "blue");</script>

</body>
</html>
 
Albert de Wit

Albert de Wit

23/09/2012 21:20:27
Quote Anchor link
oh laat maar ;)

heb het al uitgevogeld. tussen de haakjes () kun je een class of id meegeven. dus met andere woorden

Quote:
Deze werkt wel(als er geen extra div's in staan):


maakt niks uit als je de .children() specifiek aangeeft wat hij moet nakijken
 
Nick Dijkstra

Nick Dijkstra

23/09/2012 21:22:26
Quote Anchor link
Ja idd. Zag het later ook ;)
 
Albert de Wit

Albert de Wit

23/09/2012 21:36:51
Quote Anchor link
nog snel 1 vraagje, als ik show('fast') gebruik en ik ga met mijn muis 3 keer over 1 item heen, dan blijft hij 3x showen en hiden. kan dat ook gewoon naar 1 keer gebracht worden? het ziet er namelijk vreemd uit als ik eigenlijk allang erover heb gehoverd en dat het nog steeds door blijft showen en hiden
 
Nick Dijkstra

Nick Dijkstra

23/09/2012 21:37:44
Quote Anchor link
Dat durf ik niet te zeggen nee. Iemand anders misschien??
 
Albert de Wit

Albert de Wit

23/09/2012 21:39:45
Quote Anchor link
anders laat ik de ('fast') gewoon () for the time being.

Hartstikke bedankt voor je hulp!
 
Wouter J

Wouter J

23/09/2012 22:45:04
Quote Anchor link
Ja, dit kan. Met jQuery(elem).stop().show('fast');
Alleen zal je zien dat dit ook wat problemen geeft, hij pakt namelijk de waarde van de vorige keer en die worden weer bewerkt door stop waardoor er op gegeven moment niks meer wordt getoond. Dit is simpel terug te zetten doormiddel van het terugzetten van de standaard waarden. Voorbeeldje: http://jsbin.com/irajoc/1/edit
 



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.