2012-01-02 14 views
13

Ad esempio, desidero aggiungere 20px a <div id='example'></div>, che è attualmente 20px.Come aggiungere altezza all'altezza esistente?

Potrei ottenere l'altezza esistente e aggiungere 20px e inserirlo come nuova altezza, ma desidero sapere se c'è un modo migliore che potrebbe funzionare come un operatore +=.

+1

Perché non basta utilizzare il '+ =' operatore? – Purag

risposta

17

è possibile passare una funzione in height() che ha l'altezza attuale del elemento come argomento e la return della funzione sarà la nuova altezza:

$('#example').height(function (index, height) { 
    return (height + 20); 
}); 

Ecco una demo: http://jsfiddle.net/grajh/

Documenti: http://api.jquery.com/height/

+2

+1 bel codice isolato. – andlrc

1

questo modo:

$('#example').height($('#example').height() + 20); 
22

Ci sono molti modi per farlo: http://jsperf.com/jquery-height-vs-css-height

jsbin.com/utaduy

$('#example').css("height", "+=20px"); 

$('#example').height($("#example").height() + 20); 
+0

$ ('# esempio'). Css ("height", "+ = 20"); Non funziona per me! – whamsicore

+0

Ancora non funziona per qualche motivo. Pensavo che fosse perché il mio elemento non aveva una proprietà di altezza impostata per cominciare. Tuttavia, quando ne ho impostato uno e l'ho provato di nuovo, non funzionava ancora. – whamsicore

Problemi correlati