2010-05-06 7 views
1

J'ai un peu un problème avec mon shadowbox, il fonctionne très bien dans FF, mais il refuse de travailler dans IE 7 ou 8.Shadowbox ne fonctionne pas dans IE

J'utilise ces scripts,

<script type="text/javascript" src="scripts/jquery-1.4.2.js"</script> 
<link rel="stylesheet" type="text/css" href="scripts/shadowbox/shadowbox.css"> 
<script type="text/javascript" src="scripts/shadowbox/shadowbox.js"></script> 
<script type="text/javascript"> 
Shadowbox.init(); 
</script> 

et j'utilise aussi cette jQuery pour assigner l'attribut rel à toutes les balises a de mon calendrier, et cela fonctionne très bien dans FF, mais pas du tout dans IE.

$(function() { 
    $('#wp-calendar').find('a').each(function() { 
     $(this).attr('rel', 'shadowbox[Mixed];width=520;height=390'); 
    }); 
}); 

mais pour une raison quelconque, il refuse simplement de travailler dans n'importe quel IE.

Je suis vraiment au bout de ma corde ici, toute aide serait appréciée, merci!

Répondre

2

Vous appelez Shadowbox.init(); immédiatement lors du chargement de la page, mais en ajoutant les paramètres rel uniquement sur jquery dom: état prêt.

Shadowbox ne peut capturer que les liens ayant déjà le paramètre rel=... lorsque la méthode init() a été exécutée.

Dans certains navigateurs se produit apparemment d'abord événement dom:ready, puis les scripts dans <script> sont exécutés, mais pas dans IE. Vous devez déplacer à l'intérieur Shadowbox.init() jquery $(function ... après avoir affecté l'attribut rel:

$(function() { 
    $('#wp-calendar').find('a').each(function() { 
     $(this).attr('rel', 'shadowbox[Mixed];width=520;height=390'); 
    }); 
    Shadowbox.init(); 
}); 
+0

Cela a fonctionné parfaitement! Merci beaucoup! – Odyss3us