Jump to content

Archived

This topic is now archived and is closed to further replies.

Davide Ricardo

Conflitos com Jquery

Recommended Posts

Boas pessoal,

Já há muito tempo que não escrevia aqui no fórum.

Tou aqui com um problema, e como não estou a ver maneira para o resolver, decidi passa-la aqui.

 

Tenho um index.php que carrega 3 cenas em jquery

 

- um banner (plugin cycle)

- um div mostra conteudo de uma determinada pagina

- dentro desse div, por exemplo vai carregar a página quemsomos.php que contém imagens, então quero utilizar o plugin lightbox.

 

Pronto, o problema é que ao clicar nas imagens, o lightbox não executa correctamente, abrindo a imagem normalmente.

Se executar comentar o banner, também não funciona.

Se executar a pagina quemsomos.php independente, o lightbox ja funciona.

 

Já tentei ver a questão do jQuery.noConflict(), mas não consigo resolver.

 

Ajuda?!

Share this post


Link to post
Share on other sites

javascript carregado com ajax não funciona.

 

no teu caso, o elemento não existe no momento do document.ready, por isso o evento não foi atrelado.

Share this post


Link to post
Share on other sites

Eu chamo as páginas do site através de ajax que são carregadas num div.

Depois dentro desse div, onde é que carregada a página seleccionada (tipo quemsomos.php) e aí tem, por exemplo, outra biblioteca (lightbox) para ser carregada, mas não carrega.

 

Então como poderei solucionar a questão?

Share this post


Link to post
Share on other sites

Boa tarde,

 

Quando você tiver problemas na utilização da jQuery juntamente com outras bibliotecas, utilize esta orientação (em inglês) citada no próprio site do jQuery.

 

Exemplo:

<html>
<head>
  <script src="prototype.js"></script>
  <script src="jquery.js"></script>
  <script>
    jQuery.noConflict();

    // Use jQuery via jQuery(...)
    jQuery(document).ready(function(){
      jQuery("div").hide();
    });

    // Use Prototype with $(...), etc.
    $('someid').hide();
  </script>
</head>
<body></body>
</html>

 

FONTE:Clique aqui

 

Espero que ajude.

Share this post


Link to post
Share on other sites

@angelorubin, o problema dele não é conflito, mas sim javascript carregado com ajax.

 

leiam:

http://forum.imasters.com.br/index.php?/topic/264642-executar-funcoes-js-em-paginas-carregadas-com-ajax/

Share this post


Link to post
Share on other sites

tenho isto estruturado mais ou menos da seguinte forma:

 

index.php

...
<script type="text/javascript" src="jquery.js"></script>
<script language="javascript" type="text/javascript" src="funcoes.js"></script> // este tem a funcao abrirPag(url) que chama as paginas para o div mostraConteudo
<div id="menu"><a href="#" onClick="abrirPag('pagina01.php');">Link 01</a></div>
<div id="banner">include('banner.php');</div>
<div id="main">include('main.php');</div>

 

banner.php

entre outras coisas tem
<script type="text/javascript" src="banner/js//chili-1.7.pack.js"></script>
<script type="text/javascript" src="banner/js/jquery.cycle.all.js?v2.56"></script>
<script type="text/javascript" src="banner/js/jquery.easing.1.1.1.js"></script>
<script type="text/javascript">
$.fn.cycle.defaults.speed   = 900;
$.fn.cycle.defaults.timeout = 6000;

$(function() {
   // run the code in the markup!
   $('#demos pre code').each(function() {
       eval($(this).text());
   });
});
</script>
depois chama as divs para criar o banner

 

main.php

entre outras coisas (ex: divs) tem ...
<div id="mostraConteudo" style="overflow: hidden;"></div>

 

dentro da div mostraConteudo, por exemplo é chamada a pagina01.php

dentro desse ficheiro tenho o lightbox

<script type="text/javascript">jQuery.noConflict();</script>
<script type="text/javascript" src="lightbox/js/jquery.lightbox-0.5.js"></script>
<link rel="stylesheet" type="text/css" href="lightbox/css/jquery.lightbox-0.5.css" media="screen" />
<script type="text/javascript">
jQuery(function() {
jQuery('a[@rel*=lightbox]').lightBox();
});
</script>
blablabla

 

Pessoal para perceberem melhor o sistema, fiz um pequeno exemplo de teste, mas sem o banner.

Se repararem, se abrirem só o convento.php, o lytebox funciona na perfeição, mas no index.php não.

Penso que se resolver aqui, o resto também consigo.

Segue o link: Ajax | Jquery Lytebox

Share this post


Link to post
Share on other sites

Pessoal agora em vez de carregar as páginas por javascript, faço através de jquery, mas nao funciona igual :S

 

funcoes.js

$(function(){
     $("#carrega").hide();

        $("ul#ulM a").click(function(){
           pagina = $(this).attr('href');			            

           $("#carrega").ajaxStart(function(){
              $(this).show()			   
              })
           $("#carrega").ajaxStop(function(){
              $(this).hide();

           })

           $("#mostraConteudo").load(pagina);			
           return false;
        })
})

 

ajudem sff, é que não sei como por a funcionar o lytebox ou lightbox ou outro .. :S

Ainda nao finalizei o site por causa disto.

Share this post


Link to post
Share on other sites

Pessoal agora em vez de carregar as páginas por javascript, faço através de jquery, mas nao funciona igual :S

jQuery é javascript. Mesma coisa.

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.