Как я могу зафиксировать всплывающее окно fancybox на экране при прокрутке страницы?
Есть ли какие-либо варианты в этом плагине, или я должен определить его с помощью css
?jQuery FancyBox: фиксированное положение всплывающего окна относительно окна при прокрутке
ответ
Из API page, centerOnScroll кажется, что вы хотите:
Ключ: centerOnScroll
Значение по умолчанию: ложные Описание: Когда правда, FancyBox центрируется при прокрутке страницы
проблема с простое использование параметра centerOnScroll API заключается в том, что при прокрутке вверх и вниз по странице вы заметите, что ваше окно fancybox должно «догнать», поскольку оно постоянно пытается оживить, чтобы вернуть его в центральное положение. Это вызывает «отрывистое» движение, которое не выглядит таким замечательным.
Решение, которое вы можете использовать, если не хотите редактировать исходный код Fancybox, чтобы найти функцию fancybox_get_viewport и изменить ее. Я использую Fancybox 1.3.4. Так найти это:
_get_viewport = function() {
return [
$(window).width() - (currentOpts.margin * 2),
$(window).height() - (currentOpts.margin * 2),
$(document).scrollLeft() + currentOpts.margin,
$(document).scrollTop() + currentOpts.margin
];
},
и заменить его следующим образом:
_get_viewport = function() {
var isFixed = wrap.css('position') === 'fixed';
return [
$(window).width() - (currentOpts.margin * 2),
$(window).height() - (currentOpts.margin * 2),
(isFixed ? 0 : $(document).scrollLeft()) + currentOpts.margin,
(isFixed ? 0 : $(document).scrollTop()) + currentOpts.margin
];
},
Это устраняет проблему, и теперь, когда вы прокрутки вверх и вниз страницы, он будет оставаться совершенно в том же месте, в вашем браузере. Единственная проблема заключается в том, что это изменение вызывает несколько проблем с анимацией, где иногда появляется новое всплывающее окно из нижней части экрана. Чтобы исправить это, требуется еще несколько изменений. Вокруг линии 378 изменений это:
start_pos = {
top : pos.top,
left : pos.left,
width : wrap.width(),
height : wrap.height()
};
к:
final_pos = {
top : ((wrap.css('position') === 'fixed') ? pos.top - $(this).scrollTop() : pos.top),
left : pos.left,
width : wrap.width(),
height : wrap.height()
};
и вокруг линии 978, вы увидите то же самое. Замените там также. Это должно устранить проблемы с анимацией, которые возникают вместе с исправлением.
Наконец, в вашем CSS для FancyBox найти:
#fancybox-wrap {
position: absolute;
top: 0;
left: 0;
padding: 20px;
z-index: 1101;
outline: none;
display: none;
}
и заменить:
#fancybox-wrap {
position:fixed;
top: 0;
left: 0;
padding: 20px;
z-index: 1101;
outline: none;
display: none;
}
Я надеюсь, что это помогает кто-то вниз по дороге, кто хочет их всплывающие окна, чтобы оставаться идеально фиксируется на экране, жаль, что у меня было это решение для меня, но мне пришлось это выяснить сам :)
Для fancyBox 2.0
и позже, как указано в этом документе http://fancyapps.com/fancybox/#docs
Автоцентр: Если установлено значение истинно, то содержание всегда будет в центре Boolean; Значение по умолчанию: isTouch
Пример:
$('.fc-event').fancybox({
autoCenter: true,
type: 'ajax',
- 1. Gtkmm - фиксированное положение окна?
- 2. Положение диалогового окна jQuery при прокрутке вниз
- 3. Изменить положение всплывающего диалогового окна
- 4. Создание всплывающего окна javascript при прокрутке пользователя
- 5. Отрегулируйте положение всплывающего окна WPF при изменении размера окна
- 6. Fancybox ajax перенаправление вместо отображения всплывающего окна
- 7. Удаление всплывающего окна всплывающего окна
- 8. Фиксированное положение DIV отключается при прокрутке вниз
- 9. Как получить положение экрана окна браузера при прокрутке вниз jQuery
- 10. Высота всплывающего окна JQUERY
- 11. FancyBox всплывающего окна всегда прокручивается на верхних
- 12. JQuery положение окна при загрузке страницы
- 13. Jquery datetime picker фиксированное положение относительно ввода
- 14. jQuery: перемещено относительно окна просмотра
- 15. Настройка всплывающего окна окна?
- 16. Измените положение всплывающего окна (help). Bootstrap
- 17. Как сохранить фиксированное положение изображения при прокрутке?
- 18. Открытие всплывающего окна относительно позиции пользователя
- 19. укажите размер всплывающего окна относительно в WPF
- 20. CSS размер всплывающего слоя относительно размера окна
- 21. Получить абсолютное положение div относительно окна
- 22. JQuery FancyBox - смешные ошибки и нет всплывающего окна
- 23. Отключение окна при открытии всплывающего окна
- 24. Соотношение окна всплывающего окна при изменении размера
- 25. Повторное положение всплывающего окна в jquery или css
- 26. Отключение всплывающего окна Android при касании вне всплывающего окна
- 27. Закрытие всплывающего окна при щелчке пользователем за пределами всплывающего окна
- 28. закрытие всплывающего окна при открытии другого всплывающего окна
- 29. Отображение всплывающего окна или настраиваемого всплывающего окна при щелчке виджета
- 30. всплывающего окна не apperar на правильном положение