$ ('# my_div'). Hauteur ('50% ') code> définira la hauteur mais comment pouvez-vous récupérer la hauteur actuelle de la DIV en pourcentage? P>
5 Réponses :
Vous pouvez convertir une hauteur d'obtention en px et les convertir en percenatge
Ok, je pensais quelque chose comme ça serait le seul moyen. Merci
Vous pouvez utiliser .Height () code> , qui retourne juste le nombre (c'est-à-dire sans le symbole de l'unité). Parfait pour le pourcentage, ce qui n'a bien sûr pas besoin d'unités. Des docs:
Le
.Height () code> méthode est recommandé quand un élément est la hauteur doit être utilisée dans un Calcul mathématique. P> BlockQuote>Vous pouvez donc essayer quelque chose comme ceci: p>
xxx pré> p>
Peut-être que JQuery a changé cela, mais le ".Height ()" de ma 70% de div est 564.
Cela semble bien. Hauteur () Code> Renvoie le nombre de "pixels" comprenant la hauteur de l'élément mesuré, sans unités (donc pas "px"). J'ai des "pixels" dans des citations car avec des écrans haute résolution, ils ne peuvent pas littéralement être des pixels ces jours-ci.
si simple $ ("# eleid") [0] .style.width p>
Essayez de masquer l'élément que vous obtiendrez sa valeur en pourcentage.
<div id="a" style ="height: 300px; background: green; display: none;">
a
<div id="b" style ="height: 10%; background: blueviolet;">
b
</div>
<div id="c" style ="height: 20%; background: cornflowerblue;">
c
</div>
</div>
<script>
$(document).ready(function(){
// height outside of event
$("#a").append($("#a").height());
$("#b").append($("#b").height());
$("#c").append($("#c").height());
// height inside of event
$("*").click(function(){
$("#a").css("display", "block");
$("#a").append($("#a").height());
$("#b").append($("#b").height());
$("#c").append($("#c").height());
})
})
</script>
Basé sur l'autre Répondre , pour une division fixe comme un panneau, c'est ce qui a fonctionné pour moi:
var h = Math.round(
$('#my_div').height() /
$(window).height() * 100
);