2017-04-03 3 views
0

Ich versuche, alle Elemente mit der Klasse svg_hover durchzuschleifen und die Höhe von ihnen zu ermitteln. Aber es gibt mir scheinbar unmögliche Höhen zum Beispiel, wenn man sich das Bild anschaut, ist die richtige Höhe dieses Elements 305, aber es gibt mir 327. Und es wird immer schlechter, manchmal gibt es mir Zahlen in den 600ern.jQuery .height() oder outterheight() gibt Werte zurück, die größer als die tatsächliche Elementhöhe sind

enter image description here

hier ist mein Code.

var el = $('.svg_hover') 

    $(document).ready(()=> { 

    el.each(function (idx) { 
     let e = $(this), 
      content_height = e.outerHeight(); 

     console.log(e, content_height); 

    }) 
    }) 
+0

[outerHeight()] (http://api.jquery.com/outerheight/) die Marge unter anderem. Sind Sie sicher, dass es der Wert ist, nach dem Sie suchen? Wie wäre es nur mit der Breite()? – Schlaus

+0

Ja, ich stelle die Höhe meines SVG-Pfades relativ zur Höhe meines Divs ein, so dass ich die Höhe() oder outterHeight() des Elternelements bekommen würde, aber es gibt seltsame Ergebnisse zurück. –

+0

Können Sie uns eine Arbeitsdemo mit Ihrem HTML und Svg geben? –

Antwort

1

Versuchen in einem $ (Fenster) .load() anstelle von $ (document) .ready() als $ (Fenster) .load() wartet auf alle Elemente, wie Bilder Aufruf outerHeight, zu sein geladen, bevor die Höhe im Gegensatz zu $ ​​(document) .ready() berechnen, welche könnte es berechnen früh

+0

verdammt. Ich dachte, dass ich das bereits versuchte, aber ich benutzte $ (Dokument) .load(). Dies funktionierte –

+0

Hah kein Problem, es passiert – StefanBob

0

Wenn Sie die outerHeight() Sie auch die Polsterung und die Grenze bekommen nehmen (outerHight(true) bekommt auch die Marge ), überprüfen Sie für padding des Elements und setzen Sie es zurück padding:0px

enter image description here

http://api.jquery.com/outerHeight/

Verwandte Themen