Ir para conteúdo

POWERED BY:

Arquivado

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

Eduardo Kalsing

[Resolvido] Fancybox não abre conteúdo dinâmico corretamente

Recommended Posts

Bom dia galera!

Não sei se vou conseguir expressar bem meu problema, mas vamos lá:

 

Eu tenho uma tabela (table) de 5 linhas. Essas 5 linhas são alimentadas com conteúdo dinâmico, então cada linha é um elemento diferente.

 

Coloquei um botão que ao clicar, abre informações (texto, imagens) dentro de um fancybox e esses conteúdos são diferentes pra cada um. Mas o seguinte está me acontecendo:

 

Quando abro a página e clico no botão abre as informações correspondentes àquela linha. Correto.

Porém se clico novamente nesse mesmo botão, desta mesma linha, abre informações da linha abaixo!

 

O que pode estar ocorrendo?

 

Lembrando que estou utilizando PHP para trazer as info. dinâmicas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

depende.. poste um link para o site, ou então o trecho resumido do código onde o problema ocorre.

Compartilhar este post


Link para o post
Compartilhar em outros sites
$resultado = mysql_query ("SELECT * FROM produtos WHERE cat1=8 AND cat2=1 AND cat3=3 AND ativo=1 order by nota desc");
$linhas = mysql_num_rows ($resultado);
for ($i=0 ; $i<$linhas ; $i++)
{
$imagem_p = mysql_result ($resultado , $i , "imagem_p");
$ano = mysql_result ($resultado , $i , "ano");
$nome = mysql_result ($resultado , $i , "nome");
$menorpreco = mysql_result ($resultado , $i , "menorpreco");
$menorpreco=number_format ($menorpreco,2,',','.');
$loja = mysql_result ($resultado , $i , "loja");
$referer = mysql_result ($resultado , $i , "referer");
$nota = mysql_result ($resultado, $i, "nota");
$youtube = mysql_result ($resultado, $i, "youtube");
$sinopse = mysql_result ($resultado, $i, "sinopse");


echo "<a href='$youtube' class='ver_trailer fancybox-media' ><img src=\"imgs/" . $imagem_p . "\" class='imghover' srcHover='imgs/vertrailer.jpg' srcOriginal=\"imgs/" . $imagem_p . "\" /></a><br>";
echo "<p class='nome_produto'>$nome - $ano</p>";

if ($nota == '0' || $nota <= '0.25'){
$avaliacao = 'avaliacao_0';		
} else if ($nota == '0.26' || $nota <= '0.75'){
$avaliacao = 'avaliacao_0_5';
} else if ($nota == '0.76' || $nota <= '1.25'){
$avaliacao = 'avaliacao_1';
} else if ($nota == '1.26' || $nota <= '1.75'){
$avaliacao = 'avaliacao_1_5';
} else if ($nota == '1.76' || $nota <= '2.25'){
$avaliacao = 'avaliacao_2';
} else if ($nota == '2.26' || $nota <= '2.75'){
$avaliacao = 'avaliacao_2_5';
} else if ($nota == '2.76' || $nota <= '3.25'){
$avaliacao = 'avaliacao_3';
} else if ($nota == '3.26' || $nota <= '3.75'){
$avaliacao = 'avaliacao_3_5';
} else if ($nota == '3.76' || $nota <= '4.25'){
$avaliacao = 'avaliacao_4';
} else if ($nota == '4.26' || $nota <= '4.75'){
$avaliacao = 'avaliacao_4_5';
} else if ($nota == '4.76' || $nota <= '5'){
$avaliacao = 'avaliacao_5';
}

echo "<div class='avaliacoes'>
	<div class='avaliacao'>
		<img src='imgs/$avaliacao.gif' alt='Avaliação dos Usuários no IMDb' title='Avaliação dos Usuários no IMDb'/>
		 <span>$nota</span>  
		 <a class='fancybox' href='#inline1'><img src='imgs/resenha.png' alt='Ver sinopse' title='Ver sinopse'></a>
	</div>
	<div id='inline1' style='width:400px;display: none; text-align: center;'>
		<h3>Sinopse de $nome </h3>
		<h4>Ano: $ano </h4>
		<img src=\"imgs/" . $imagem_p . "\" alt='$nome - $ano' title='$nome - $ano'/>
	<p style='text-align: left;'>
		$sinopse
	</p
</div>
  </div>";

Compartilhar este post


Link para o post
Compartilhar em outros sites

todos os teus fancybox, abrem a mesma coisa:

<a class='fancybox' href='#inline1'><img src='imgs/resenha.png' alt='Ver sinopse' title='Ver sinopse'></a>

 

você não pode repetir IDs.

 

 

se tiver dificuldades, faça estático.

 

Sem php. Ai você vai entender.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ahhh! Verdade William! Vou fazer e ver se dá tudo certo! Muito obrigado pela ajuda! Assim que tiver ok, aviso aqui!

 

Eu realmente preciso do conteúdo dinâmico. O que poderia fazer nesse caso? Tentei 'class' mas vi que não tem nada a ver...

 

William, consegui!

 

Ficou assim o código:

<a class='fancybox' href='#$id'><img src='imgs/resenha.png' alt='Ver sinopse' title='Ver sinopse'></a>
	</div>
	<div id='$id' style='width:400px; display: none; text-align: center;'>

ou seja, pego pelo ID.

 

MUITO OBRIGADO pela força!

Abraço

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.