2010-04-08 1 views
1

Я использую плагин jQuery Fancybox для отображения некоторого контента на веб-сайте. К сожалению, при нажатии ссылки, загружаемый лайтбокс начинается с той же позиции прокрутки, что и предыдущая. Я попытался использовать self.scrollTo (0,0) $ .scrollTo (0) $ ('# top'). ScrollTo();Fancybox force scroll to top

и несколько других методов, чтобы подтолкнуть его кверху, но никто не работал. Любая помощь по этому поводу?

ответ

2

Есть ли у Fancybox какой-то обратный вызов? Причина, о которой я прошу, - это, вероятно, лайтбокс, сбрасывающий прокрутку обратно в ту же позицию, на которой он находился, поэтому вам нужно как-то вызвать scrollTo после того, как лайтбокс будет полностью закрыт.

Кроме того, почему бы не использовать scrollTop вместо scrollTo (который, как я полагаю, является плагином jQuery scrollTo).

Is this link in the lightbox? Когда именно вы вызываете scrollTo? У вас есть код, чтобы показать, что вы делаете?

Метрополис

EDIT

Попробуйте

$("#element").fancybox({ 
    onComplete: function() { 
     $(document).scrollTop(0); 
    } 
}); 
+0

Хорошая идея, но этот код прокручивает весь документ вверх, а не только содержимое fancybox. Я должен был сделать это, чтобы добиться того, чего вы хотите: '$ ("# элемент") FancyBox ({ OnComplete: функция() { $ ("# элемент") scrollTop (0); } .}.); ' – paulcik

4

У меня была такая же проблема. Metropolis, я использовал аналогичное решение, но вместо $ (document) .scrollTop (0) я нацелил $ («# fancybox-inner»). ScrollTop (0), который работал для меня.