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

Erro em ajax/jquey no ie


Darela

Pergunta

Daew galera

etou usando uma função pra mostrar0ocultar divs com jquery, só que não funciona no IE 6 e IE 7 no firefox é perfeito, mas como meu cliente que usa o sistema tem nas máquinas dele o IE6, tem que funcionar com ele.

o script é esse :

<script type="text/javascript">
$(document).ready(function() {            
   $("a#teste").toggle(
       function() {
            var href = this.href.replace(/(.*\#)/, '')
           $('#' + href).fadeIn(); // ou slideUp()
       },
       function() {
            var href = this.href.replace(/(.*\#)/, '')
           $('#' + href).fadeOut(); // ou slideDown()
       }
    );
});
</script>

e estou usando a versão jquery.min

Se alguém puder me ajudar

beleza

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

i aew Darela, tenta usar tipo assim:

<html>
    <head>
        <title>title</title>
        <script type='text/javascript' src='jquery-1.3.2.min.js' ></script>
        <script language="Javascript">
            $( document ).ready( function(){            
               $( "a#teste" ).click(
                   function(){
                        $( this ).text( ( $( this ).text() == 'aparece' ? 'esconde' : 'aparece' ) );
                        var href = $( this ).attr( 'href' ).replace( /(.*\#)/, '' );
                        $( '#' + href ).toggle( "slow" );
                   } )
            });
        </script>
    </head>
    <body>
        <a id='teste' href='#esconde' />aparece</a>
        <div id='esconde' style='background:green;display:none;width:200px;height:200px'>teste</div>
    </body>
</html>

espero que ajude abraço!

Link para o comentário
Compartilhar em outros sites

  • 0

Romerito

Olha só e se ao invés de colocar la no link no caso

nessa linha

$( this ).text( ( $( this ).text() == 'aparece' ? 'esconde' : 'aparece' ) );

ao invés de aparece e esconte, uma imagem...

como daria pra fazer, tentei de algumas forma mais não deu certo

se tiver uma ideia me da um help ai, falow

Link para o comentário
Compartilhar em outros sites

  • 0

i aew carinha, então, testa tipo assim:

<html>
    <head>
        <title>title</title>
        <script type='text/javascript' src='jquery-1.3.2.min.js' ></script>
        <script language="Javascript">
            $( document ).ready( function(){            
               $( "a#teste" ).click(
                   function(){
                       $( this ).children( 'img' ).attr( 'src' , ( $( this ).children( 'img' ).attr( 'src' ) == 'imagem1.jpg' ? 'imagem2.jpg' : 'imagem1.jpg' ) ) ;
                        var href = $( this ).attr( 'href' ).replace( /(.*\#)/, '' );
                        $( '#' + href ).toggle( "slow" );
                   } )
            });
        </script>
    </head>
    <body>
        <a id='teste' href='#esconde' /><img src='imagem1.jpg' /></a>
        <div id='esconde' style='background:green;display:none;width:200px;height:200px'>teste</div>
    </body>
</html>

espero que ajude, falow!

Editado por Romerito
Link para o comentário
Compartilhar em outros sites

  • 0

Romerito

Desculpe te alugar novamente

mas assim, o código funciona perfeito, quando faço o teste fora do meu script, mas quando coloco dentro do código da página ele não funciona no IE nem por decreto hehehe

então segue o código da página completa pra ve se você decobre o porque , já que eu esquentei a cabeça e não achei a falha, não sou muito bom em jquery.

se tiver um tempinho pra dar uma olhada, agradeço

&lt;script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<!--&lt;script type="text/javascript">
$(document).ready(function() {            
   $("a#teste").toggle(
       function() {
            var href = this.href.replace(/(.*\#)/, '')
           $('#' + href).fadeIn(); // ou slideUp()
       },
       function() {
            var href = this.href.replace(/(.*\#)/, '')
           $('#' + href).fadeOut(); // ou slideDown()
       }
    );
});
</script>-->
&lt;script language="Javascript">
$( document ).ready( function(){
$( "a#teste" ).click(
function(){
$( this ).children( 'img' ).attr( 'src' , ( $( this ).children( 'img' ).attr( 'src' ) == 'img/detalhes.jpg' ? 'img/detalhes.jpg' : 'img/detalhes.jpg' ) );
var href = $( this ).attr( 'href' ).replace( /(.*\#)/, '' );
$( '#' + href ).toggle( "slow" );
} )
});
</script>

<?php 
if(isset($_POST['quant'])){
$tipo = "barracas";
conecta_php();
$sql = "SELECT * FROM pacotesPousada WHERE tipoHospedagem='$tipo' AND status=1 ORDER BY idPacote ";
$query = mysql_query($sql) or die(mysql_error());
echo"   <div id='mostraCabPacotes'> 
        <div id='desCabPacotes'><span>Descrição do pacote</span></div>
        <div id='entCabPacotes'><span>Data/Entrada</span></div>
        <div id='saiCabPacotes'><span>Data/Saída </span></div>
        <div id='valCabPacotes'><span>Valor</span></div>
        <div id='staCabPacotes'><img src='img/detalhes.jpg' class='linkReserva'/></div>
        <div id='staCabPacotes'><img src='img/reservarpgs.jpg' class='linkReserva'/></div>
        </div> ";//fecha a tag div id="mostraCabPacotes"'.$linha['descricao'].' - '.$linha['tipoHospedagem'].' - Para  '.$_POST['quant'].' pessoas
       $idlinha=mysql_num_rows($query);
if(mysql_num_rows($query)){
while ($linha = mysql_fetch_assoc($query)){
$cont++;
$desc = ''.$linha['descricao'].' - '.$linha['tipoHospedagem'].' - Para  '.$_POST['quant'].' pessoa(s)';
$valor = $linha['valorPacote'] * $_POST['quant'];
$htmb.='<div class="line" id="linha_'.$linha['idPacote'].'" >'
     .'<div id="desCabPacotes">'.substr($desc, 0, 40).'...</div>'
     .'<div id="entCabPacotes">'.$linha['dataInicio'].'</div>'
     .'<div id="saiCabPacotes">'.$linha['dataFim'].'</div>'
     .'<div id="valCabPacotes">'.number_format($valor,2,',','.').'</div>'
     .'<div id="detCabPacotes">
<!-- ************* -->
<!-- Nessa linha abaixo é que faço a chamada no link com id teste, ve se encontra o erro...
assim o "href="#detalhes'.$cont.'", é porque como vem do banco e são várias linhas o cont icrementa 1 a cada linha sacou, mas como estou tentando pelo id da tag "a" acho que não é por causa disso, mas da uma olhada e ve o que você me diz beleza -->
<!-- ************* -->
     <a href="#detalhes'.$cont.'" class="detalhes'.$cont.'" id="teste" title="Mais Detalhes deste pacote...">
     <img src="img/detalhes.jpg" class="linkReserva" title="Ver detalhes" alt="detalhes"/></a></div>'
     .'<div id="staCabPacotes">
     <a href="?load='.process.'&idPacote='.$linha['idPacote'].'&tipo='.barracas.'&quant='.$_POST['quant'].'">
     <img src="img/reservarpgs.jpg" class="linkReserva"/></a></div>'

<!-- ************* -->
<!-- Essa linha abaixo é a div que fica oculta, e aparece com o clik no link, no Firefox, funciona belezinha,  não da nehum erro no console, perfeito, mas no IE, nem a pau... -->
<!-- ************* -->
     .'<div class="verDetalhes" id="detalhes'.$cont.'" style="display:none;">
     <p><span>Detalhes do pacote<span></p>
     <ul>
       <li>Tipo de Hospedagem: '.$linha['tipoHospedagem'].'</li>
       <li>Descrição: '.$desc.'</li>
       <li>Observações: O preço cobrado por pessoa é de R$ '.number_format($linha['valorPacote'],2,',','.').'
           <br />'.$linha['observacao'].'</li>
     </ul></div></div>';
     }//end while
      }else{
     $htmb.='<div class="line">Todos os pacotes nesta modalidade estão esgotados!!</div>';
     }
     print $htmb;
     }

essa é a pagina php onde o código tem que funcionar.

Falow

Link para o comentário
Compartilhar em outros sites

  • 0

i aew carinha, então eu olhei seu codigo tem alguns erros no HTML, tipo assim: você tem ID´s com o mesmo nome, depois procura a respeito para ter mais detalhes,

bom basicamente os erros são por conta disso. Testa com esse codigo aqui:

$( document ).ready( function(){
                $( '.line' ).each( function(){
                    $( this ).children( 'div:eq(4)' ).find( 'a' ).click( function(){
                        var oImg = $( this ).children( 'img' );
                        $( oImg ).attr( 'src' , ( $( oImg ).attr( 'src' ) == 'img/detalhes.jpg' ? 'img/detalhes.jpg' : 'img/detalhesHIDE.jpg' ) );
                        var href = $( this ).attr( 'href' ).replace( /(.*\#)/, '' );
                        $( '#' + href ).toggle( "slow" );
                    } );
                } );                
            } );

desse jeito acho que funciona, mas não vai esquecer de arrumar as ID´s com nomes duplicados.

falow abraço!

Editado por Romerito
Link para o comentário
Compartilhar em outros sites

  • 0

UHUUU

Valeu parcero, agora funcionou belezinha...

assim que colocar no ar, eu te passo o link pra você ver como ficou...

sim tem uns ids que são iguais, mas pela aplicação é necessário ser assim..mas funcionou beleza agora

Valeu fera...

Abraço

precisando de algo sobre php/mysql, é só falar

Editado por Darela
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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...