2009-10-26 5 views
1

en essayant de définir la hauteur de deux divs sur ma page, parce que le contenu de ma page est dynamique. Mais ça ne marchera pas. La hauteur est juste un écran des divs.Javascript pour définir la hauteur div ne fonctionne pas

Les divs contiennent des bordures latérales, c'est pourquoi elles doivent être complètement. Des idées pour lesquelles la hauteur seulement = une hauteur d'écran?

function bodyHeight() { 
    var scnHei; 

    if (self.innerHeight) // all except Explorer 
    { 
     scnHei = self.innerHeight; 
    } 
    else if (document.documentElement && document.documentElement.clientHeight) 
     // Explorer 6 Strict Mode 
    { 
     scnHei = document.documentElement.clientHeight; 
    } 
    else if (document.body) // other Explorers 
    { 
     scnHei = document.body.clientHeight; 
    } 

    document.getElementById("bgr_right").style.height=scnHei + "px"; 
    document.getElementById("bgr_left").style.height=scnHei + "px"; 
} 

Voici où j'appelle la fonction:

<body onload="bodyHeight();"> 

MISE À JOUR: + ajouté "px"; mais NE FONCTIONNE PAS SOIT ...

+0

Pouvez-vous ajouter une alerte pour confirmer que le document/corps a une hauteur valide? – donohoe

Répondre

2

Ceci ne cuit qu'une seule fois, lorsque le corps est chargé. Si vous avez un événement qui fait un autre appel à BodyHeight(); alors cela devrait fonctionner.

+0

pas juste mais la meilleure réponse –

2
.style.height=scnHei; 

devrait plutôt être

.style.height=scnHei + "px"; 

va de même pour .style.width bien sûr. Vous avez oublié d'ajouter l'unité à la valeur de largeur/hauteur.

0

Les propriétés de hauteur et de largeur nécessitent une unité ("%" ou "px"). Essayez ceci:

.style.height = scnHei + "px"; 
Questions connexes