Javascript + XMLHttpRequest + Lightbox avec IE
Bonjour, je vais essayer d'expliquer clairement mon problème.
J'ai fai une galerie d'image avec les bibliothèque jquery et lightbox. Jquery me permet d'avoir un menu en forme d'accordéon et lightbox permet d'afficher l'image en grand.
Fonctionnement de la galerie :
- on clique sur la rubrique que l'on souhaite (ex : Menuiserie)
- on clique sur la "mini" photo pour afficher la moyenne
- on clique sur la moyenne pour afficher la grande photo
Dans firefox aucun problème, par contre dans IE la grande photo s'ouvre dans la page même ! comme si il ne voyait pas la bibliotheque Lightbox...
Je ne vois pas mon erreur merci de m'aider. Voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
| <head>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.lightbox-0.5.js"></script>
<link rel="stylesheet" type="text/css" href="css/jquery.lightbox-0.5.css" media="screen" />
<script type="text/javascript">
var $z = jQuery.noConflict();
$z(document).ready(function()
{
$z = jQuery.noConflict();
$z('a.light').lightBox();
});
</script>
<script language="javascript" type="text/javascript">
var $j = jQuery.noConflict();
$j(document).ready(
function()
{
$j(".ascenseur").next("div").hide();
$j(".ascenseur").click(
function()
{
if($j(this).next("div").is(":hidden"))
{
$j(".ascenseur").next("div:visible").slideUp();
$j(this).next("div").slideDown();
}
});
});
preload = function (o, img_src, w, h) {
var img = new Image ();
img.onload = function () {
o.onload = null;
if (w) o.width = w;
if (h) o.height = h;
o.src = img.src
};
img.src = img_src;
}
</script>
</head>
// include de la page galerie, et lorsque l'on clique sur la rubrique Menuiserie
// de la galerie , j'envoie un requete XMLHttpRequest qui appelle une page mini.php qui affiche les mini et moyenne image dans une <div>
// Dans ma page mini.php j'ai été obligé de recoler le code suivant pour que sa marche dans firefox
<script type="text/javascript" src="js/jquery.lightbox-0.5.js"></script>
<script type="text/javascript">
var $y = jQuery.noConflict();
$y(document).ready(function()
{
$y = jQuery.noConflict();
$y('a.light').lightBox();
});
</script>
// ensuite je met mon lien sur la moyenne image
<div id="gallery">
<a href="images/galerie/rep/nomphotos" class="light">
<img src="images/ajax-loader.gif" onload="preload (this, 'images/galerie/nomphotos" border="0"/>
</a>
</div> |
Infos : Quand je met mon lien directement dans la page galerie.php sa marche, dès que je le met dans la page mini.php qui est apellé par XMLHttpRequest , sa ne marche plus dans IE...
Merci de vos réponses.