我尝试在一个div中单独使用javascript向左或向右滚动,没有jquery。我已经使用jquery实现了它,但我需要单独使用javascript。代码:-
我希望按钮可以帮助水平滚动的div左或右。如何做到这一点。我实现了使用jquery这样:-
$('#right-button').click(function() {
event.preventDefault();
$('#content').animate({
scrollLeft: "+=200px"
}, "slow");
});
$('#left-button').click(function() {
event.preventDefault();
$('#content').animate({
scrollLeft: "-=200px"
}, "slow");
});
.outer {
display: flex;
overflow-x: hidden;
overflow-y: hidden;
}
.inner {
flex: 0 0 25%;
height: 100px;
margin: 10px;
}
.paddle {
position: absolute;
top: 50px;
bottom: 0;
width: 30px;
height: 20px;
}
.lefty {
left: 0;
}
.righty {
right: 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="outer" id="content">
<button class="lefty paddle" id="left-button"></button>
<div class="inner" style="background:red"></div>
<div class="inner" style="background:green"></div>
<div class="inner" style="background:blue"></div>
<div class="inner" style="background:yellow"></div>
<div class="inner" style="background:orange"></div>
<button class="righty paddle" id="right-button"></button>
</div>
5条答案
按热度按时间dced5bon1#
您只需要按如下方式使用
translateX
:另外,我强烈建议您不要使用js来制作像这样简单的动画。1dkrff032#
使用
scrollTo
滚动元素:原来MS Edge和IE不支持
scrollTo()
方法。kupeojn63#
这是使用核心javascript进行自定义水平滚动的解决方案
在. html中
在. css中
在. js中
点击左/右按钮使用以下功能
snvhrwxg4#
非常感谢,这正是我正在寻找的,但我复制并粘贴所有文本到可视化代码在3个不同的文件html,js,和css,但我不能让它工作.控制台显示一个错误未捕获TypeError:无法读取null的属性(读取"addEventListener"),但在此页面(代码片段)上它可以工作。我在chrome、brave和firefox中尝试过。
bqucvtff5#
你可以只使用滚动,但动画将是单独的。