Ir para conteúdo
Fórum Script Brasil
  • 0

Marquee+Java Script não funciona no Fire Fox


Ricardo Dias

Pergunta

Boa tarde a todos. Estou quebrando a cabeça mas ainda não consegui resolver este problema. Tenho um código que pega noticias de um BD e joga em uma página com marquee. No IE funciona normalmente, mas no FF sem sinal de vida. Será que alguém tem alguma sugestão para consertar este problema. Abaixo esta o código e aqui esta o link demonstração: http://www.rdwebd.com/imob

já declarei em px o tamanho, mas mesmo assim nada funcionou.

<?
  include "conexao.php";
  $sql="select id_not, DATE_FORMAT(data,'%d/%m/%Y') as data_formatada, horas, titulo, texto, autor, fot, foto FROM noticias ORDER BY id_not DESC LIMIT 0, 8";
  $resultado=mysql_query($sql);
  $num_linhas=mysql_num_rows($resultado);
?>
               <table width="450" height="150">
                <tr>
                 <td>
                      &lt;script language="JavaScript">
                    var marqueewidth=450
                    var marqueeheight=150
                    var speed=2
                    var marqueecontents=''
                    <?
                    for ($i=0;$i<$num_linhas;$i++)
                    {
                    $dados = mysql_fetch_array($resultado);
                     $foto = $dados['fot'];
                     if($foto =='sim')
                     {
                    ?>
                    marqueecontents = marqueecontents + '<font face="Verdana" size="1" color="#000000"><?echo $dados['data_formatada'];?><font face="Verdana" size="1" color="#000000"> - <?echo $dados['horas'];?><br><a href="vernot.php?cod=<?echo $dados['id_not'];?>"><font face="Verdana" size="1" color="#000000"><b><?echo $dados['titulo'];?></b> <img border=0 src=images/camera_fotografica.gif><br><font face="Verdana" size="1" color="black"><?echo $titulo;?></font><br><br>'
                    <?
                     }
                     else
                     {
                    ?>
                    marqueecontents = marqueecontents + '<font face="Verdana" size="1" color="#000000"><?echo $dados['data_formatada'];?><font face="Verdana" size="1" color="#000000"> - <?echo $dados['horas'];?><br><a href="vernot.php?cod=<?echo $dados['id_not'];?>"><font face="Verdana" size="1" color="#000000"><b><?echo $dados['titulo'];?></b><br><br><br>'
                    <?
                     }
                    }?>
                    if (document.all)
                    document.write('<marquee direction="up" scrollAmount='+speed+' style="width:'+marqueewidth+';height:'+marqueeheight+'">'+marqueecontents+'</marquee>')
                    function regenerate(){
                    window.location.reload()
                    }
                    function regenerate2(){
                    if (document.layers){
                    setTimeout("window.onresize=regenerate",450)
                    intializemarquee()
                    }
                    }
                    function intializemarquee(){
                    document.cmarquee01.document.cmarquee02.document.write(marqueecontents)
                    document.cmarquee01.document.cmarquee02.document.close()
                    thelength=document.cmarquee01.document.cmarquee02.document.height
                    scrollit()
                    }
                    
                    function scrollit(){
                    if (document.cmarquee01.document.cmarquee02.top>=thelength*(-1)){
                    document.cmarquee01.document.cmarquee02.top-=speed
                    setTimeout("scrollit()",100)
                    }
                    else{
                    document.cmarquee01.document.cmarquee02.top=marqueeheight
                    scrollit()
                    }
                    }
                    window.onload=regenerate2
                    </script>
                    <layer width=&{marqueewidth}; height=&{marqueeheight}; id="cmarquee01">
                    <ilayer id="cmarquee02" width=&{marqueewidth}; height=&{marqueeheight};></ilayer>                    </layer>
                  </td>
                </tr>
               </table>

Editado por fercosmig
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Opa!!

Cara, na boa e de bandeja rsrsrs...

O seu teste

if (document.all)....
no qual o FF define um retorno, indica uma coleção e não um objeto, então apesar de aparecer um retorno, ele não é um retorno true, o que cai numa exceção e não printa esse marquee em lugar nenhum!!! O correto seria:
if (document.all[0])....
Aí sim você está referenciando um objeto real, ou seja, primeiro objeto da coleção "all" do objeto "document". Agora essa forma de manipular os objetos é novas pra mim!!! Eu sincerarmente nunca tinha visto, porém acho que não é "W3C compliant"....
document.cmarquee01.document.cmarquee02.document.write(marqueecontents)

gigabraços!!!!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...