gpt4 book ai didi

javascript - 使用 Javascript 将 HTML 元素平滑地滚动到特定方向

转载 作者:行者123 更新时间:2023-12-02 15:21:59 25 4
gpt4 key购买 nike

我想做的是,如果您单击一个按钮(假设“向左滚动”),它就会开始向左滚动,并且不会停止,直到我按下另一个按钮(“停止”按钮) )来阻止它。

function co() {
coo=document.getElementById('tar');
var x = coo.style.left;
var y=(x+=10);
coo.style.left=y+'px';
}
div {
position:absolute;
background-color:orange;
border-radius:50%;
width:100px;
height:100px;
transition-duration:2s;
}

body {
width:100%;
height:100%;
}

.plus {
z-index:2;
position:absolute;
background-color:#CCC;
right:15px;
bottom:10px;
}
<body >
<div id="tar"></div>
<button class="plus" onClick="co()">Plus this</button>
</body>

最佳答案

只需使用 setInterval 循环重复您的函数,然后使用clearInterval 取消

此外,您可能希望防止在动画运行时再次单击“Plus This”。

<小时/>

代码片段

var cog;

function co() {
// the first run need not have a delay
cot();
cog = setInterval(cot, 500)
}

function nco() {
clearInterval(cog)
}

function cot() {
var coo = document.getElementById('tar');
var x = window.getComputedStyle(coo, null).left;
var y = Number(x.replace('px', '')) + 100;
coo.style.left = y + 'px';
}
div#tar {
left: 10px;
position: absolute;
background-color: orange;
border-radius: 50%;
width: 100px;
height: 100px;
transition-duration: 0.5s;
transition-timing-function: linear;
}
body {
width: 100%;
height: 100%;
}
.plus {
z-index: 2;
position: absolute;
right: 15px;
bottom: 10px;
}
<body>
<div id="tar"></div>
<div class='plus'>
<button onClick="co()">Plus this</button>
<button onClick="nco()">Stop</button>
</div>
</body>

关于javascript - 使用 Javascript 将 HTML 元素平滑地滚动到特定方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33969437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com