Проблема с событием прокрутки jquery в Firefox, которое не было достаточно плавным - PullRequest
0 голосов
/ 04 марта 2010

У меня есть div с содержимым и назначенным переполнением, что дает ему две полосы прокрутки.

Внутри этого div находится еще один, который всегда должен быть привязан к основанию.

Чтобы добиться этого, я помещаю слушателя в событие прокрутки, чтобы изменить положение div в нижней части div:

obj.scroll(function(e) {
    var uiValue = obj.scrollTop();
    $("#calendar-grid-key").animate({ bottom: -1 * uiValue }, 0);
});

Прекрасно работает практически на каждой панели браузера Firefox 3 на ПК. У него странное отставание (см. Видео: http://www.jamiewilson.co.nz/ScreenFlow.mov).

Кто-то предложил остановить рисование событий, вычислить разницу, а затем рисовать, но я не совсем понимаю и не могу найти в Интернете ничего, что позволило бы мне остановить рисование и затем перезапустить его.

Заранее спасибо!

1 Ответ

0 голосов
/ 31 июля 2010

Как насчет этого решения? Он не двигается вообще.

Основные моменты:

Стиль:

  #calendar-grid-key {
    position: absolute;
    border: 1px solid #FF0000;
  }

И JS:

function moveCalendar() {
  $("#calendar-grid-key").offset({top: $("#container").offset().top + $("#container").height() - $("#calendar-grid-key").height(), left: $("#container").offset().left });
}

$(document).ready(function() {

  moveCalendar();

  $("#container").scroll(function(e) {
    moveCalendar()
  });

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