Загрузка Fancybox - PullRequest
       11

Загрузка Fancybox

1 голос
/ 25 августа 2010

Можно ли запустить плагин Fancybox без события document.ready ()? В FF это похоже на успех, но не в IE

Для объяснения: я пытаюсь запустить все функции 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, потому что они замедляются.

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

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

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

Sebastien

РЕДАКТИРОВАТЬ : См. Объяснение для уточнения потребностей и решений ниже

Ответы [ 3 ]

0 голосов
/ 25 августа 2010

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

0 голосов
/ 26 августа 2010

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

Чтобы объяснить и уточнить мою потребность:

На моей базовой странице я хотел бы использовать 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 голосов
/ 25 августа 2010

Я думаю, что до тех пор, пока вы вводите код инициализации ПОСЛЕ элемента, к которому вы хотите его применить (в вашем случае это что-то с классом "Overview_picM"), это должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...