使用Javascript将HTML元素平滑地滚动到特定方向
我想做的是,如果你点击一个按钮(假设“向左滚动”),它就会开始向左滚动,直到我按下另一个按钮(停止按钮)停止它,它才会停止 函数co(){ coo=document.getElementById('tar'); var x=coo.style.left; 变量y=(x+=10); coo.style.left=y+'px'; }使用Javascript将HTML元素平滑地滚动到特定方向,javascript,html,Javascript,Html,我想做的是,如果你点击一个按钮(假设“向左滚动”),它就会开始向左滚动,直到我按下另一个按钮(停止按钮)停止它,它才会停止 函数co(){ coo=document.getElementById('tar'); var x=coo.style.left; 变量y=(x+=10); coo.style.left=y+'px'; } div{ 位置:绝对位置; 背景颜色:橙色; 边界半径:50%; 宽度:100px; 高度:100px; 过渡时间:2s; } 身体{ 宽度:100%; 身高:100
div{
位置:绝对位置;
背景颜色:橙色;
边界半径:50%;
宽度:100px;
高度:100px;
过渡时间:2s;
}
身体{
宽度:100%;
身高:100%;
}
.另外{
z指数:2;
位置:绝对位置;
背景色:#CCC;
右:15px;
底部:10px;
}
再加上这个
只需使用setInterval在循环中重复您的函数,使用用户clearInterval取消即可
此外,您可能希望防止在动画运行时再次单击Plus This
代码片段
var-cog;
函数co(){
//第一次运行不需要延迟
cot();
cog=设定间隔(cot,500)
}
函数nco(){
净空间隔(cog)
}
函数cot(){
var coo=document.getElementById('tar');
var x=window.getComputedStyle(coo,null).left;
变量y=数量(x.replace('px','')+100;
coo.style.left=y+'px';
}
div#tar{
左:10px;
位置:绝对位置;
背景颜色:橙色;
边界半径:50%;
宽度:100px;
高度:100px;
过渡时间:0.5s;
过渡时间函数:线性;
}
身体{
宽度:100%;
身高:100%;
}
.另外{
z指数:2;
位置:绝对位置;
右:15px;
底部:10px;
}
再加上这个
停止