Shadowbox не работает в IE - PullRequest
1 голос
/ 06 мая 2010

У меня небольшая проблема с моим shadowbox, он хорошо работает в FF, но отказывается работать в IE 7 или 8.

Я использую эти сценарии,

<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>

и я также использую этот jQuery для назначения атрибута rel всем тегам a внутри моего календаря, и он отлично работает в FF, но совсем не в IE.

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

но по какой-то причине он просто отказывается работать в любом IE.

Я действительно нахожусь в конце моей веревки, любая помощь будет признательна, спасибо!

1 Ответ

2 голосов
/ 06 мая 2010

Вы вызываете Shadowbox.init(); сразу, когда страница загружается, но добавляете rel параметры только в состоянии jquery dom: ready.

Shadowbox может выбирать только те ссылки, у которых уже был параметр rel=... при выполнении метода init().

В некоторых браузерах, видимо, сначала происходит событие dom:ready, а затем выполняются сценарии в <script>, но не в IE. Вы должны переместить Shadowbox.init() в jquery $(function ... после назначения атрибута rel:

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