Ir para conteúdo

POWERED BY:

Arquivado

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

wills

passar tamanho de div para outra

Recommended Posts

pessoal, tudo bom?!

 

estou tentando passar o tamanho de uma div para outra, poderiam me ajudar?

 

eu consigo recuperar o tamanho, mas não passar para outra.

 

function calcTamanho(){
	var div1 = document.getElementById("txt").offsetHeight;
	//alert(div1)
	var div2 = document.getElementById("txt1").offsetHeight;
	//alert(div2)
	var div3 = document.getElementById("txt2").offsetHeight;
	//alert(div3)
	
	if (div3 > div2){
	div2=document.getElementById("txt1").style.Height=div3;
	//alert(div2)
	}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu uso este codigo aqui

 

  function OnEqualizarAltura(prDivs){
        var contDivs,maxHeight,divHeight,d;
  		var divs=new Array();
		if (prDivs){
 		      for(var i=0;i<prDivs.length;i++){
			  	divs[i]=document.getElementById(prDivs[i]);
			  }
	    maxHeight=0;
		var contDivs=new Array();
		i=0;
	   for(var i=0;i<divs.length;i++){
    		d=divs[i];
	       	if (d) {
            	contDivs[contDivs.length]=d;
                if(d.offsetHeight){
                   	divHeight=d.offsetHeight;
                }
                else if(d.style.pixelHeight){
                   	divHeight=d.style.pixelHeight;
               	}
                maxHeight=Math.max(maxHeight,divHeight);
           	}
				 
	       for(var j=0;j<contDivs.length;j++){
    	        contDivs[j].style.height=maxHeight+"px";
	       		}
	    }
		}
	}

 

pra chamar faz assim

 

<div id="div1">
</div>
<div id="div2">
</div>

OnEqualizarAltura(['div1','div2'])

Ai e só colocando os nomes dos divs no array que você esta passando por parametro, que eles vão ficar no tamanho do maior deles

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa quanta volta hein rapaz rsss..

fiz um exemplozinho aqui pequeno..

 

é só salvar dentro do um arquivo.html e testar.

 

 

<script>

function testando()
{
	var div1 = document.getElementById("div1")
	var div2 = document.getElementById("div2")
	
	var altura  = div1.offsetHeight;
	var largura = div1.offsetWidth;
	

	div2.style.width = largura+"px";
	div2.style.height = altura+"px";
	
}

</script>

<div id="div1" style="width:100px; height:100px; border:1px solid red;">
</div>
<div id="div2" style=" border:1px solid blue;">
</div>

<a href="java script:testando()">clique e teste </a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Legal realmente esta menor, mas você esta fazendo exatamente a mesma coisa que o meus codigo, só que tem uma diferença, se você quiser fazer isto em uma pagina com 10divs diverentes ?????????? vai escrever 10 vezes document.getElementById(Algumacoisa)???????????, bem eu só vou passar os ids dos 10 na chamada da função, como diria Martin Flower fazer codigo pro computador e fazio, qualquer um escrever, escrever pra gente e que dificil.

Compartilhar este post


Link para o post
Compartilhar em outros sites

po isso depende mt do que você quer fazer.

 

Depende do que seu programa faz, então vai depender de como ele está e de como você vai usar a sua criatividade pra resolver.

 

Por exemplo,

 

Se eu quero que 10 divs copiem uma só, eu posso usar um loop para resolver esse problema, padronizo os ids das divs e depois eu jogo dentro do loop.

 

ex.:

 

<div id="copiada"> </div>
<div id="copia1"> <div>
<div id="copia2"> <div>
...
<div id="copia10"> <div>

no java script:

 

<script>

function testando(idDivCopiada)
{
	var divCopiada = document.getElementById(idDivCopiada)
	var altura		 = divCopiada.offsetHeight;
	var largura	   = divCopiada.offsetWidth;

   for (i=1; i<=10; i++)   
   {
	   var divCopia			 = document.getElementById("copia"+i)
	   divCopia.style.width  = largura+"px";
	   divCopia.style.height = altura+"px";
   } 
}

</script>

 

 

Então copiaria para 10 divs altura e largura de 1

 

Absss

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha normalmente eu não faço isso, porque eu acho que até com um estagiario se aprende, mas como eu tenho notado nas suas respostas que você e muito marrento e em varios topicos você não acrescenta nada, fica só dando opinião furando eu vou te mostrar as falhas do seu codigo.

 

<script>

function testando(idDivCopiada)
{
    var divCopiada = document.getElementById(idDivCopiada) /* Assim eu tenho que saber de ante mão, qual e o maior div, sendo que o tamanho pode variar por causa do conteudo*/
    var altura         = divCopiada.offsetHeight;
    var largura       = divCopiada.offsetWidth;

   for (i=1; i<=10; i++)  /*---Codigo Limitado a 10 se querer mas ou menos divs tenho que editar o dodigo*/ 
   {
       var divCopia = document.getElementById("copia"+i) /*Depende do formulario e obriga a usar nomes padroês para atender o ao codigo e não a estrutura de um documento*/
       divCopia.style.width  = largura+"px";
       divCopia.style.height = altura+"px";
   } 
}
</script>

Ai dar uma lida em algum livro de padrões de projetos, tem um muito bom da serie usando a cabeça.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente o q eu tenho q fazer é uma coisa, pedir desculpas por não ler o código que ele postou, pq na verdade ele pediu um código que ele copie o tamanho de uma div para a outra e eu não li que ele queria igualar o tamanho de todas, por isso a minha resolução para problema estava furado.

"Pessoal, tudo bom?!

estou tentando passar o tamanho de uma div para outra, poderiam me ajudar?

eu consigo recuperar o tamanho, mas não passar para outra."

Critiquei a sua resposta pq não achava necessário fazer um código tão grande para uma coisa simples que era copiar o tamanho de uma div para a outra.

 

Agora com relação as suas criticas pessoais eu quero saber quem é você para poder criticar a minha posição profissional ? Quem é você para poder querer desmerecer o meu conhecimento ? O meu código não está errado, ele apenas não está adequado para a necessidade dele.

Eu posto nesse forum com o objetivo de ajudar as pessoas, aprendi muitas coisas em forum e nenhum momento posto aqui querendo ser "marrento" ou mesmo mostrar que tenho mais conhecimento que qualquer outro usuário aqui.

 

Eu sinceramente pouco me importo o que você acha ou deixa de achar das minhas respostas, eu vou continuar postando no forum e tentando ajudar do meu jeito, por mais que não acrescente em nada como você diz, pelomenos eu estou fazendo a parte de tentar ajudar as pessoas e de trocar conhecimento.

 

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

@RogerioRock

Cara, nada haver essa sua postura.

O Carutcho colocou um código para ajudar na dúvida do wills. Os exemplos simples ajudam mais que os complexos no entendimento.

Todo mundo começa aprendendo o simples para depois partir pro complicado.

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<script type="text/javascript">
<!--//
function resizeDivs(id, tag, medida)
{
	var main = document.getElementById(id);
	var el = main.getElementsByTagName(tag);
	var maior = 0;
	
	for(var i=0; i<el.length; i++, maior = (alt > maior) ? alt : maior)
		var alt = parseFloat(el[i].style.height.replace(/[^0-9.]+/, ""));
	
	for(var i=0; i<el.length; i++)
		el[i].style.height = maior + medida;
}
//-->
</script>
<style type="text/css">
	div#Main div {
		float:left;
		width:300px;
		margin:5px;
		border:solid 1px red;
	}
</style>
</head>

<body>
	<a href="#" onclick="resizeDivs('Main', 'div', 'px'); return false;">Clique em mim! :D</a>
    <div id="Main">
    	<div style="height:400.5px;"></div>
    	<div style="height:505.9px;"></div>
        <div style="height:200px;"></div>
        <div style="height:300px;"></div>
    </div>
</body>
</html>
Wills, fiz esse agora, basta copiar esse CODE e salvar com um nome qualquer .html

 

Os parametros da função resize são:

ID => ID do elemento que contém as divs que quer redimensionar

Tag => Tag que deseja aplicar o nivelamento

Medida => Medida utilizada na altura (px, em, pt, etc...)

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

ee meninos calma la ne. Afinal aqui é livre para postarmos ideias e cada uma tem a sua. Vamos se atentar à duvida do wills do que afinetar o jeito que cada um faz.

 

espero q este post volte ao foco se nao terei de fecha-lo.

 

obrigada

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.