Je veux ajouter dynamiquement un nombre de DIV à une cible DIV dans ma page avec .append(), puis définir leurs hauteurs et leurs positions de sorte qu'ils sont tous visibles dans la page sans défilement. Tout cela va bien, mais dans Firefox (3.6.16 sur Ubuntu) une barre de défilement verticale apparaît, comme si la hauteur de chaque nouvelle DIV était ajoutée à la hauteur totale du contenu de la page - même si chaque nouvelle DIV est en haut près de la partie supérieure de l'écran, et sa hauteur n'est pas proche de la longueur de l'écran. Ubuntu Chrome se comporte bien. Quand je demande jQuery pour la hauteur de la cible DIV après avoir ajouté les nouvelles DIV, cela n'a pas changé.jQuery .append() dans Firefox: barre de défilement verticale apparaît?
Voici la plupart du code d'une page de test que j'ai écrite pour isoler le problème - merci d'avance!
<style type="text/css">
#target {
width: 50px;
height: 50px;
background-color: #cfc;
}
</style>
<script>
$(document).ready(function() {
var cols = new Array('#660', '#606', '#066', '#993', '#939', '#399', '#cc9', '#c9c', '#9cc', '#ffc', '#fcf', '#cff');
for(i = 0; i < 10; i++){
$('#target').append('<div id="new_' + i + '">Hello</div>');
$('#new_' + i)
.position({
my: 'left top',
at: 'left top',
of: '#target',
offset: '' + (i * 20) + ' ' + (i * 10)
})
.width(200)
.height(150)
.css('background-color', cols[i]);
}
});
</script>
</head>
<body>
<div id="target">
</div>
</body>
Avez-vous essayé d'ajouter overflow ': hidden; 'à l'élément' # target'? – Seth
Vous ajoutez des éléments de 150 pixels de hauteur à un élément de 50 pixels de haut. Pourquoi ne ** pas ** attendre une barre de défilement? – Pointy
Salut Pointy - la barre de défilement apparaît pour la fenêtre du navigateur dans son ensemble, pas ma petite div 50px. – user548958