@merss

Изменение координаты при скролле?

КАк сделать чтобы во время скролла постоянно изменялась координата?
Делаю так, изменяется только один раз:
$(window).on('scroll',function() {
                $(elem).css('top', '+' + 20 + 'px');
            });
  • Вопрос задан
  • 253 просмотра
Решения вопроса 2
bootd
@bootd
Гугли и ты откроешь врата знаний!
Она изменяется все время. Просто каждый раз устанавливается значение 20px. Вы же не суммируете с уже имеющимся значением.

$(window).on('scroll', function() {
  var elemTop = parseInt($('div').css('top')) + 20;
  
  console.log(elemTop);
  
  $('div').css('top', elemTop + 'px');
});


А нужному элементу в css дайте значение top: 0, если оно не стоит с другим значением

Фиддл
Ответ написан
Комментировать
var $elem = $(elem), topValue = parseFloat($elem.css('top').replace('px','')) || 0;
$(window).on('scroll',function() {
  topValue += 20
  $elem.css('top', topValue + 'px');
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@lega
можно установить css стиль position: fixed; тогда элемент будет отображаться там же вне зависимости от скрола.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы