2010-08-25 1 views
1

Возможно ли запустить плагин Fancybox без document.ready() event? В FF, это, кажется, успех, но не в IEFancybox loading

Чтобы объяснить: я пытаюсь инициализировать все функции JQuery в нижней части моей страницы:

<script type="text/javascript"> 
      $(".overview_picM").fancybox({ 
       'titleShow': false, 
       'transitionIn': 'elastic', 
       'transitionOut': 'elastic', 
       left: picLLeft, 
       'autoScale': false, 
       hideOnContentClick: true, 
       overlayShow: false 
      }); 
</script> 
</body> 

Без document.ready() или window.load , потому что они замедляются.

Это не conventionnal в JQuery с использованием, я знаю, но у меня есть ActiveX, Java Applet или Iframe и все эти элементы замедляют Jquery доступа с помощью document.ready или window.load (...)

Я начал реализовывать сценарии jquery этим методом, и это успешно для многих моих скриптов (jquery).

Идея? С наилучшими пожеланиями,

Себастьен

EDIT: см.объяснение уточнить потребности и решения, ниже

ответ

0

Во-первых, спасибо Байрону за его терпение

Чтобы объяснить и разъяснить мои потребности:

В моей базовой странице, я хотел бы использовать FancyBox на <img> элемент, чтобы показать этот элемент больше всего, перед тем IFRAME (который также находится на базовой странице).

Этот iframe содержит java-апплет и, кажется, занимает много секунд, чтобы быть загруженным/готовым (?) В DOM.

Итак, я заметил, что во время загрузки iframe я не могу использовать fancybox. Возможно, fancybox должен DOM быть готовым к использованию правильно, под IE. Под FF, это не обязательно, после многих тестов. Итак, я думаю о конфликте потоков в IE.

Первоначальный вопрос был неправильно сформулирован. Сожалею.

Таким образом, чтобы решить эту проблему, я загружаю IFrame SRC в SetTimeout в нижней части моей страницы:

 setTimeout('initSrcIframes()',0); 

     function initSrcIframes() { 
      $("iframe#iframeViewer3D").attr("src", "myUrl.aspx");   

     } 
</script> 
</body> 
</html> 

К таким образом, я могу использовать FancyBox плагин как можно скорее в моей базовой страницы и не после загрузки iframe. Я думаю, что с помощью метода setTimeout я запускаю новый поток (на базовой странице) для загрузки iframe src без штрафа за многие функции javascripts.

Я надеюсь, что этот ответ прояснить мою потребность и помочь некоторым людям :)

Себастьен

0

Я думаю, что до тех пор, как вы выразились код инициализации после элемента, на котором будет как применять его (в вашем случае это что-то с классом «overview_picM»), это должно работать.

0

Не имеет значения, когда вы вызываете init так долго, как вы это делаете после загрузки элемента DOM.

+0

Я пытался, но в Ie, FancyBox не имеет значения, если не загружены все элементы (IFrame, ...) ,Если я нажму на «overview_picM», чтобы показать fancybox, перед загрузкой iframe IE возвращает некоторые ошибки: «загрузка - это null или не объект» (...) –