Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

MyMind

[Resolvido] Obter o valor do width de uma Div com Javascript

Recommended Posts

Como eu faço para obter o valor de um "width" de uma div pelo javascript? Estou tentando usar o código: mywidth=document.getElementById('mydiv').style.width onde mywidth é a variável que deve receber o valor.

 

Esse código já funcionou para mim outras vezes, mas tem vezes que não funciona e eu preciso saber porque...

<html>
<head>
<style type="text/css">
#mydiv {
position:absolute;
top:50px;
width:250px;
height:200px;
z-index:1;
background-image: url(imagens/3.jpg);
left: 10px;
}
</style>
<script>

function largura() {

mywidth=document.getElementById('mydiv').style.width
alert("Largura = " + mywidth)
}

</script>
</head>
<body>

<input type="button" name="largura" id="largura"  value="Qual a Largura?" onClick="largura()"/>
<div id="mydiv"></div>

</body>
</html>

 

Neste exemplo, há uma função largura() chamada por um botão ao ser clicado, essa função deveria dar um alert dizendo "Largura = 250px", mas não funciona, o alert diz: "Largura = ", ou seja, a minha variável mywidth não recebe o valor do width da mydiv!

 

Por que não está funcionando?

 

Quem puder me dar uma força posta ai....

Compartilhar este post


Link para o post
Compartilhar em outros sites

você só consegue acessar o width pelo style.width se você tiver com css inline

 

como o teu css está nas tags <style>, você precisa capturar pelo getComputedStyle()

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tentei o getComputedStyle() mas não funcionou, eu devo ter feito ele errado:

<script>

function largura() {

mywidth=window.getComputedStyle(mydiv, null).getPropertyValue(height);


alert("Largura = " + mywidth)
}

</script>

 

Mas o mywidth=document.getElementById('mydiv').offsetWidth funcionou perfeitamente,

 

<script>

function largura() {

mywidth=document.getElementById('mydiv').offsetWidth


alert("Largura = " + mywidth)
}

</script>

 

vlw! :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

teria q ser assim:

 

 

function getWidth( el )  
{  
   if( window.getComputedStyle )  
       return document.defaultView.getComputedStyle(el, null).width;  
   else if( el.currentStyle )  
       return el.currentStyle['width'];  
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.