Ir para conteúdo

POWERED BY:

Arquivado

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

marcelo2605

[Resolvido] cálculo dinâmico da largura das fotos

Recommended Posts

Estou usando o plug-in jScrollPane para apresentar uma sequência horizontal de fotos. Mas preciso definir um valor para o width que armazena essas fotos. Como elas serão puxadas de um banco de dados, preciso de um meio para que a página faça a soma do total das larguras e dê o valor para esse width. Jquery pode fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode usar algo como:

 

var qntas_fotos = $('#container_do_plugin').find('img').length;

$('#container_do_plugin').css('width', ( qntas_fotos*500 )+'px' );

supondo que seja 500px, a largura de cada foto. Entendeu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ai você tem q tentar capturar a largura de cada foto, e ir somando.

 

o método .each(), pode te ajudar com esse loop.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza, tenho esse código:

 

$('#itemList img').each(function(){
   var $this = $(this);
   var imageWidth = $this.width();     
   $this.css({'width': imageWidth}); 
});

 

Mas agora como vou somar as larguras?

Compartilhar este post


Link para o post
Compartilhar em outros sites
var largura = 0;
$('#itemList img').each(function(){
   var $this = $(this);
   largura += parseInt( $this.width() );
});
alert( largura );

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza! O código ficou assim:

 

var largura = 0;
$('#itemList img').each(function(){
   var $this = $(this);
   largura += parseInt( $this.width() );
});
$('#itemList').css('width', ( largura )+'px' );

 

Mas pq tenho que determinar inicialmente que a variável largura é igual a zero?

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso é programação básica... antes de usar uma variavel, você precisa declarar ela.

até pode ser que funcione sem declarar, mas não é conceitualmente correto.

 

Por isso que sempre declaro.

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.