Я хотел бы запустить Fancybox (например , версию Fancybox модального окна или светового окна) при загрузке страницы. Я мог бы привязать его к скрытому тегу привязки и запустить событие щелчка этого тега привязки через JavaScript, но я бы предпочел просто запустить Fancybox напрямую и избежать дополнительного тега привязки.
jquery
jquery-plugins
fancybox
Блеггер
источник
источник
Ответы:
Fancybox в настоящее время напрямую не поддерживает способ автоматического запуска. Работа, с которой я смог работать, - это создание скрытого тега привязки и запуск его события щелчка. Убедитесь, что ваш вызов для запуска события щелчка включен после включения файлов jQuery и Fancybox JS. Я использовал следующий код:
Этот пример сценария встроен непосредственно в HTML, но его также можно включить в файл JS.
источник
$(document).ready(LaunchFancyBox());
должно быть$(document).ready(LaunchFancyBox);
. (обратите внимание на отсутствие вызова функции в конце).Я заставил это работать, вызвав эту функцию в готовом документе:
источник
Это просто:
Сначала сделайте свой элемент скрытым, например:
Затем вызовите свой javascript:
Посмотрите изображение ниже:
Другой пример:
источник
Window.load (в отличие от document.ready ()), по-видимому, является уловкой, использованной в демонстрациях JSFiddler onload для Fancybox 2.0 :
Не забывайте, что вы можете использовать document.ready () где-то еще, и IE9 расстраивается из-за порядка загрузки этих двух. Это оставляет вам два варианта: изменить все на window.load или использовать setTimer ().
источник
Или используйте это в файле JS после настройки вашего fancybox:
Я считаю, что Fancybox 1.2.1 будет использовать параметры по умолчанию из моего тестирования, когда мне нужно это сделать.
источник
почему это еще не один из ответов ?:
теперь просто активируйте ссылку !!
получил это с домашней страницы Fancybox
источник
Лучший способ, который я нашел:
источник
В моем случае может успешно работать следующее. Когда страница загружается, сразу появляется всплывающее окно.
JQuery: 1.4.2
Fancybox: 1.3.1
источник
Ответ Алекса отличный. но важно отметить, что это вызывает стиль fancybox по умолчанию. Если у вас есть свои собственные правила, вы должны просто вызвать .trigger, щелкнуть по этой конкретной привязке
источник
На самом деле мне удалось активировать ссылку fancyBox только из внешнего JS-файла, используя «живое» событие:
Сначала добавьте событие щелчка в реальном времени в ваш будущий динамический якорь:
Затем добавьте якорь к телу:
Затем запустите fancyBox, «щелкнув» привязку:
Ссылка fancyBox "почти" готова. Почему «почти»? Потому что похоже, что вам нужно добавить некоторую задержку, прежде чем запускать второй щелчок, иначе скрипт не готов.
Это быстрая и грязная задержка с использованием некоторой анимации на нашем якоре, но она хорошо работает:
Вот и все, ваш fancyBox должен появиться загруженным!
HTH
источник
Возможно, это поможет ... это использовалось в полноразмерном событии щелчка календаря jQuery ( http://arshaw.com/fullcalendar/ ) ... но его можно использовать в более общем плане для работы с fancybox, запускаемым jQuery.
источник
Вы также можете использовать встроенную функцию JavaScript,
setTimeout()
чтобы отложить отображение окна после того, как DOM будет готов.источник
В случае, если у вас нет кнопки для нажатия. Я имею в виду, что если вы хотите открыть его в ответе ajax, это будет примерно так:
источник
Это поможет..
источник
Вы можете разместить ссылку вот так (она будет скрыта. Может быть раньше
</body>
)И рабочий атрибут rel или класс, подобный этому
Просто сделайте это с помощью функции триггера jquery
источник
HTML:
JS:
источник
возможно, вы можете использовать jqmodal , он легкий и простой в использовании. вы можете показать модальное окно, позвонив
источник