jquery position van een class krijgen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Arend b

arend b

18/01/2013 18:47:00
Quote Anchor link
goede avond,

ik wil graag de positie weten van mijn afbeelding zodat ik div kan laten verschijnen boven de afbeelding. alleen heb ik 3 afbeeldingen in footer met een andere x locatie alleen hoe krijg ik deze locatie?

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
23
24
25
<footer>    
  <a href="#"><img src="v2.jpg" alt="test" height="134" width="280" class="event"></a>
  <a href="#"><img src="header.png" alt="test2" height="134" width="280" class="event"></a>
  <a href="#"><img src="20133.jpg" alt="test3" height="134" width="280" class="event"></a>
</footer>
<div id="hover"></div>
<script>
$(document).ready(function(){
  $("a").mouseover(function(){
      var img = $(".event").offset();
      var posx = img.left;
      var posy = img.top;
      $("#hover")
                   .css("visibility","visible")    
                   .css("top", "450px")
                 .css("left", "370px")
                 .css("width", "200px")
                 .css("height", "200px");
                 $("#content").html("pos y: " + posy + "<br>pos x: " + posx);
  });
  $("a").mouseleave(function(e) {
        $("#hover").css("visibility","hidden");
    });
});
</script>


deze code geeft een positie x en y maar deze is van de eerste afbeelding en ik wil dat de waardes veranderen indien ik over de tweede en derde afbeelding ga.

bij voorbaat dank
 
PHP hulp

PHP hulp

17/05/2024 04:28:11
 
Kris Peeters

Kris Peeters

21/01/2013 14:26:16
Quote Anchor link
Wat je vooral moet onthouden, is het begrip this.
Bij een onClick, onHover, onMouseover, ... definieer je een functie.
In die functie heb je steeds een variabele this ter beschikking. Die this is dan enkel en alleen het element dat aangesproken is.

In jouw geval: $('a').mouseover
Wanneer de functie wordt uitgevoerd, weet je dat this een <a> element zal zijn en dat het enkel dat element is waar de gebruiker over staat.

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
$(document).ready(function() {
  $("a").mouseover(function() {
    // het aangesproken element heet binnen deze functie: this
    // dit is hier dus de link waar de gebruiker over staat (de cursor...)
    var img = $(this).find('img');  // => zoek naar een <img> die genest is in deze <a>, war de gebruiker zijn muis over staat.
    var offset = $(img).offset();
    var posx = offset.left;
    var posy = offset.top;
    $("#hover")
      .css("visibility","visible")    
      .css("top", "450px")
      .css("left", "370px")
      .css("width", "200px")
      .css("height", "200px");
    $("#content").html("pos y: " + posy + "<br>pos x: " + posx);
  });
  $("a").mouseleave(function(e) {
    $("#hover").css("visibility","hidden");
  });
});
 
Arend b

arend b

21/01/2013 20:24:22
Quote Anchor link
bedankt voor je reactie ik heb het zelf op deze manier opgelost.
Vergeten te posten hier.

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
<script>
$(document).ready(function(){
  $("a").mouseover(function(){
      var naam = "img" + $(this).attr("rel");
      var img = $("img[name=" + naam+ "]").offset();
      var posx = img.left;
      var posy = img.top;
      $("#hover")
                   .css("visibility","visible")    
                   .css("bottom", posy)
                 .css("left", posx)
                 .css("width", "200px")
                 .css("height", "200px");
  });
  $("a").mouseleave(function(e) {
        $("#hover").css("visibility","hidden");
    });
});
</script>
Gewijzigd op 21/01/2013 20:24:53 door arend b
 



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.