Я строю умное зеркало с помощью малины pi 3 и электронного приложения. Поэтому мой интерфейс в основном хром с одностраничным приложением. У зеркала есть кнопки внизу, некоторые из которых предназначены для прокрутки, поэтому, нажимая их, я хочу плавно прокрутить содержимое div на 200 пикселей. В настоящее время я использую JQuery:Плавная прокрутка на медленном устройстве
$('#content').animate({scrollTop: $('#content').scrollTop + 200})
Теперь, когда анимация не очень жидко, он заикается из-за низкой производительности в PI3 в. Я хотел бы знать, есть ли способ сделать это гладким. Нет никакого API-интерфейса для браузера, поэтому я думал о чем-то с CSS и, возможно, переводил на дочерний элемент. Есть ли какие-либо жидкие методы для этого?
EDIT: Я пробовал следующую структуру CSS:
#container {
overflow-y: hidden;
height: 200px;
}
#content {
transition: transform 0.2s ease-out;
transform: translate(0,0);
}
#content.s1 {
transform: translate(0,-200px);
}
#content.s2 {
transform: translate(0,-400px);
}
Теперь проблема будет знать, насколько высоким содержание и динамически добавлять соответствующие правила, так что есть достаточно sx
классов и что последний прокручивается точно до дна и не дальше, поэтому он не оставляет уродливого промежутка под содержимым. Возможно ли это с помощью Javascript?
Можете ли вы объяснить, почему позиция: фиксированная является проблема здесь? У меня действительно есть фиксированный верхний и нижний колонтитул на странице, а также фиксированный контент div в середине, содержимое которого прокручивается. И у этого свитка есть ящик, который я беру около – LuLeBe
'position: fixed' может вызвать ненужные бури красок. Если вы используете 'position: fixed', добавьте' transform: translateZ (0) 'и' backface-visibility: hidden', чтобы продвинуть его на свой собственный слой. –