Adr*_*uez 5 javascript horizontal-scrolling
这个小提琴几乎就是我正在寻找的,我是从MDN那里得到的.唯一缺少的是我想让它更顺畅.有没有办法在不使用jQuery或任何其他插件的情况下做到这一点?
var button = document.getElementById('slide');
button.onclick = function () {
document.getElementById('container').scrollLeft += 100;
};
var back = document.getElementById('slideBack');
back.onclick = function () {
document.getElementById('container').scrollLeft -= 100;
};
Run Code Online (Sandbox Code Playgroud)
小智 18
您还可以使用 .scrollTo 方法。我用这个 javascript修改了jsFidlle:
https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollTo
var container = document.getElementById('container');
var input = document.getElementById('content');
var scrollAmount = 0;
var scrollMin = 0
var scrollMax = input.clientWidth
document.getElementById('slide').onclick = function () {
container.scrollTo({
top: 0,
left: Math.max(scrollAmount += 500, scrollMax),
behavior: 'smooth'
});
};
document.getElementById('slideBack').onclick = function () {
container.scrollTo({
top: 0,
left: Math.min(scrollAmount -= 500, scrollMin),
behavior: 'smooth'
});
};
Run Code Online (Sandbox Code Playgroud)
man*_*ngo 13
如果您不想跟踪滚动位置,可以使用scrollBy 而不是scrollTo。
container.scrollBy({
top: 0,
left: +500,
behavior: 'smooth'
})
Run Code Online (Sandbox Code Playgroud)
pho*_*gnt 10
添加 scroll-behavior: smooth; 到滚动元素。我感觉好多了