Проблема производительности полосы прокрутки окна

0
var box = $('.box');

$(window).on('scroll', function() {
    var top = $(window).scrollTop() + $(window).height() - 100;
    box.css('top', top);
});

http://jsfiddle.net/ALFdL/

Если я прокручу вниз немного быстрее, ящик немного пошатнется, есть ли опция, например fps, чтобы отрегулировать частоту прокрутки вниз, я хочу, чтобы окно перемещалось после прокрутки вниз так же быстро, как и там.

PS: Я знаю, что могу использовать исправление для этого случая, но это всего лишь демонстрационный код для эмуляции реального случая.

  • 0
    При каждой прокрутке ваша функция Scroll работает, поэтому на это требуется время.
Теги:

2 ответа

1

EDIT: Пожалуйста, если вы хотите понизить голос, сформулируйте свои мысли четко. Молчаливое голосование не поможет мне понять, что я сделал неправильно.

Нет необходимости использовать jQuery и попытаться исправить некоторые проблемы с помехоустойчивостью, когда вы можете сделать этот вид коробки просто с помощью CSS. Посмотрите на измененный jsFiddly.

В свойство position изменения и добавьте z-index CSS:

.box {
    width: 100px;
    height: 100px;
    background: url(http://lorempixel.com/100/100/sports/6/);
    position: fixed; 
    left: 0;
    bottom: 0;
    z-index:100;
}

Итак, position:fixed; делает вашу коробку прикрепленной к данной позиции. z-index:100; делает его поверх других изображений.

  • 0
    @ downvoter, пожалуйста, оставьте команду. Почему за вас проголосовали? Не понимаю. Я предлагаю лучшее решение здесь. Почему вы должны делать так много вычислений, в то время как вы можете сделать это простым?
  • 0
    PS: я знаю, что могу использовать исправление для этого случая, но это всего лишь демонстрационный код для эмуляции реального случая.
0

Нет. Скорость прокрутки определяется браузером (и обычно непосредственно настройками на компьютере/устройстве). CSS и Javascript не имеют (или не должны) каким-либо образом влиять на параметры системы.

См. Здесь: Могу ли я изменить скорость прокрутки с помощью css или jQuery?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню