2016-06-17 6 views
2

Wie kann ich Elementbreite oder -höhe erhalten, die als Pixelzahl übersetzt werden? Alles, was ich mit .css('width') bekommen habe, sind die Ausdrücke, nicht einmal eine Prozentzahl, wie calc(-25px + 50%).Get css value with pixels

bearbeiten

hier meinen Code. (Chrom)

var bars_width = element.css('width'); 
$('.histgram-content').css('width', bars_width); 
bars_width = parseInt(bars_width.replace('px', '')) * 0.85; 
$('.histgram-bar').css('width', (bars_width/data.length).toFixed(0).toString() + 'px'); 
/*** average Y ***/ 
var graph_height = $('.histgram-graph').css('height'); 
graph_height = parseInt(graph_height.replace('px', '')); 

var average_height = $('.average-line').css('top'); 
average_height = graph_height - parseInt(average_height.replace('px', '')); 

Die average_height gibt der Ausdruck sagte ich. Die letzte Zeile hat das Ergebnis von 'NaN'.

Antwort

2

Sie alle jQuery Dimension verwandte Methoden verwenden:

Working example

+0

Ich weiß nicht, warum das für mich nicht funktioniert, und wie wäre es mit anderen css-Werten wie "top"? Ich versuchte .css ('top'), es gab direkt den Ausdruck zurück. – donle

+0

Welchen Browser benutzen Sie? Es wäre sehr hilfreich, wenn Sie Ihren tatsächlichen Code sehen würden. –

+0

Ich habe meinen Beitrag aktualisiert – donle

0

Sie können Höhe

$('#element-id').height(); 

können Sie Breite

$('#element-id').width(); 
+0

gibt Prozentwert zurück. Ich brauche Pixelwerte – donle

0

Verwenden window.getComputedStyle() Beispiel: window.getComputedStyle ($ ('div')) [ 'width']