Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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
- 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?!
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?
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.
@angelorubin, o problema dele não é conflito, mas sim javascript carregado com ajax.
leiam:
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>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
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.
>
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.
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.