Я реализовал fancybox2 на сайте разработчиков.
Когда я включаю fancybox (щелкаю ссылку и т. Д.), Весь html смещается за ним - и идет вверх. У меня он отлично работает в другой демонстрации, но когда я перетаскиваю тот же код в этот проект, он перескакивает наверх. Не только со ссылками на встроенные div, но и с простой галереей изображений.
Кто-нибудь испытал это?
jquery
css
fancybox-2
шерифдерек
источник
источник
Ответы:
На самом деле это можно сделать с помощью помощника в Fancybox 2.
http://davekiss.com/prevent-fancybox-from-jumping-to-the-top-of-the-page/
источник
locked
установлено значениеfalse
). Это временное решение проблемы, которая может привести к возникновению другой проблемы в некоторых сценариях. Это была ошибка, и она была исправлена в последней версии master github.com/fancyapps/fancyBox/archive/master.zipJordanj77 правильный, но самое простое решение - просто перейти к таблице стилей
jquery.fancybox.css
и закомментировать строкуoverflow: hidden !important;
в разделе.fancybox-lock
источник
Я понимаю, что это старый вопрос, но думаю, что нашел для него хорошее решение. Проблема в том, что fancy box изменяет значение переполнения тела, чтобы скрыть полосы прокрутки браузера.
Как указывает Дэйв Кисс, мы можем помешать fancy box делать это, добавив следующие параметры:
Но теперь мы можем прокручивать главную страницу, глядя на наше необычное окно. Это лучше, чем прыгать в начало страницы, но, вероятно, это не то, что нам действительно нужно.
Мы можем предотвратить прокрутку в правильном направлении, добавив следующие параметры:
И добавьте эти функции из галамбалаза. См .: Как временно отключить прокрутку?
источник
Проблема в том, что fancyBox изменяет значение переполнения тела, чтобы скрыть полосы прокрутки браузера. Я не мог найти возможность изменить это поведение.
Вы можете удалить этот раздел кода fancyBox, чтобы предотвратить это:
источник
Несмотря на то, что правильный способ решения этой проблемы - использовать параметры, которые предоставляет fancybox ( см. Этот ответ ), для решения проблемы можно использовать CSS. Нет необходимости редактировать файл css библиотеки, просто добавьте его в основную таблицу стилей приложения:
Код сбрасывает исходное переполнение элемента. Проблема в том, что
overflow: hidden;
на<html>
элементе скрывается полоса прокрутки, из-за чего страница «прыгает» вверх. Чтобы сохранить положение полосы прокрутки, мы перезаписываем переполнение с помощьюoverflow: visible;
источник
<body>
или / и<html>
может бытьheight: 100%
Это тоже помогло
источник
Принятый ответ не является полным, поскольку на самом деле он не решает проблему, а просто позволяет ее избежать! Вот более полный ответ, который на самом деле дает вам желаемую функциональность при исправлении проблемы перехода окна:
источник
Возможно, этот ответ запоздал, но, возможно, он может помочь в будущем, если после щелчка / закрытия изображения fancybox заставляет ваш сайт прокручиваться вверх, вы можете просто удалить:
или лучше использовать:
В версии fancyBox: 2.1.5 (пятница, 14 июня 2013 г.) эта часть кода находится в строке 897.
источник
На самом деле вы можете кодировать вот так, если используете функцию fancybox по умолчанию:
источник
Я исправил это с помощью:
в
.fancybox-lock
теле вjquery.fancybox.css
. И полоса прокрутки не прыгает :)источник