- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
startPosition
位于 left:0%
使用切换按钮移动方框,然后在中间某处暂停。
我想要实现的是将框从 paused position
动画化到 start position
。我该如何实现?
const
box={moving:false}
;
function element(id){return document.getElementById(id)}
function move(element){
box.moving=true;
element.classList.add('moving')
}
function stop(element){
box.moving=false;
element.classList.remove('moving')
}
function toggleBox(){
if(!box.moving){move(element('box'))}
else{stop(element('box'))}
}
function resetBox(){
// what should i write here
}
@keyframes moving{
0%{left:0%}
100%{left:100%}
}
.box{
animation-name:moving;
animation-delay:0s;
animation-duration:1s;
animation-direction:alternate;
animation-fill-mode:both;
animation-timing-function:linear;
animation-iteration-count:infinite;
animation-play-state:paused;
display:block;
height:10px;
width:10px;
background:#06f;
position:absolute;
top:0;
}
.moving{
animation-play-state:running;
}
.container{position:relative;width:100px;border:1px solid #6666;height:10px;}
<p>
<button onclick="toggleBox()">Toggle</button>
<button onclick="resetBox()">Reset</button>
</p>
<div class="container">
<span id="box" class="box"></span>
</div>
最佳答案
一个想法是读取动画的当前状态,删除动画然后重置属性,它们将通过过渡动画返回。
我在动画中添加了翻译以避免溢出:
const
box = {
moving: false
};
function element(id) {
return document.getElementById(id)
}
function move(element) {
box.moving = true;
element.classList.add('moving')
}
function stop(element) {
box.moving = false;
element.classList.remove('moving')
}
function toggleBox() {
element('box').classList.remove('reset')
if (!box.moving) {
move(element('box'))
} else {
stop(element('box'))
}
}
function resetBox() {
element('box').style.left=window.getComputedStyle(element('box'), null).getPropertyValue("left");
element('box').style.transform=window.getComputedStyle(element('box'), null).getPropertyValue("transform");
element('box').classList.add('reset')
setTimeout(function(){
element('box').style.left=0;
element('box').style.transform="translateX(0)";
},1);
}
@keyframes moving {
0% {
left: 0%
}
100% {
left: 100%;
transform: translateX(-100%);
}
}
.box {
animation: moving 1s infinite linear alternate;
animation-play-state: paused;
display: block;
height: 10px;
width: 10px;
background: #06f;
position: absolute;
top: 0;
left:0;
transform:translateX(0);
transition:0.5s all;
}
.reset {
animation:none;
}
.moving {
animation-play-state: running;
}
.container {
position: relative;
width: 100px;
border: 1px solid #6666;
height: 10px;
}
<p>
<button onclick="toggleBox()">Toggle</button>
<button onclick="resetBox()">Reset</button>
</p>
<div class="container">
<span id="box" class="box"></span>
</div>
关于javascript - CSS3 动画 : How to animate to from paused position to reset position?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57301398/
我正在编写一个小脚本来练习使用 boost 库。 使用these header /命名空间,这是我的主要功能: int main() { ifstream inNew("../../Downloads
我正在用 SpriteKit 创建我的第一款游戏。我正在尝试暂停我的 GameScene,然后通过 SpriteKit 运行一些动画。问题是,如果我使用 self.view?.isPaused = t
我在尝试暂停倒计时器时遇到问题。我试图做到这一点,以便在单击播放按钮后,该按钮变为暂停按钮。但由于某种原因它不会暂停。 我尝试将 id“pButton”更改为“pauseButton”,这是有效的,但
在滚动更新之前,我想在我们的监控工具中为每台主机设置停机时间。我为此创建了一个自定义模块。设置停机时间时可能会出现问题,我们无法解决。在那种情况下,我想让用户选择是否应中止部署或继续部署而不设置停机时
根据 this paragraph ,以下有问题: /* usr_interrupt is set by the signal handler. */ if (!usr_interrupt)
我有一个 TThread 对象,希望能够通过程序主窗体上的按钮启动/停止线程。我一直在寻找实现这一目标的方法,到目前为止我有以下想法: 当用户单击“停止”时终止并释放线程,并在单击“开始”时创建一个新
这里我有一个方法 public static Color pickColor(){ final aero.colorpicker.Frame frame = new aero.colorpic
我在这个循环中犯了一些错误,我真的无法弄清楚。这是循环: while (true) { System.out.print(stepName[currentTick]);
我刚刚发现 Barba.js 并发现它非常有用。它提供同一网站的 URL 之间的平滑转换。 我整理了一个 Plunker 由两个页面(index.html 和 about.html)组成,借助 jQu
我写了一个程序来尝试用 C 语言编写线程,但这很奇怪 它不会陷入 while 状态(例如 while (1){}) 我尝试用 getchar、scanf 和 while(1) 暂停我的程序,但它没有停
music.pause(); 似乎在我的代码中不起作用。当我单击播放按钮(该按钮是使用 html 5 Canvas 中的框制作的)时,它可以播放音乐,但是当我单击停止按钮时,它不起作用。请帮助我。 这
我一直在用 python 3.3 编写一个基本的计算器,我希望能够在命令窗口中运行它。 但是我一读完它就关闭了窗口,我还没来得及查看最终答案。 所以我想知道是否有等效于 c++ System('PAU
考虑以下代码: 进程 A(在随机时间点): void catch(){}; // empty handler. signal(SIGCHLD,&catch); // attach empty hand
我在 x.m 中使用了函数“pause”(不带参数),但它无法挂起程序。当程序执行此功能时,它只是继续运行。 最佳答案 kbhit对我不起作用。使用 input函数帮助我解决了问题。 关于Octave
我一直在寻找一些自动的方式来编号与 biblatex 的投影机马德里同一张幻灯片上的引用文献。这适用于 \pause和 \footcite{} .但是当我在同一张幻灯片上有多个项目符号(例如 5),并
好的,所以我上周在iOS8推出之前启动了一个应用程序。在iOS7及更低版本中,一切正常。但是现在,由于人们已经更新到iOS8,我的应用程序无故暂停/崩溃。 当我将NSMutableArray设置为NS
试图在我的应用程序中放置一个“暂停”按钮,以播放一些声音片段循环播放。 当我打电话mp.pause();一切都破了,我完全迷路了! 这是我正在使用的方法。 protected void man
我已经尝试过简单的controls =“pause”代码,但是我不想显示可见的音乐播放器。我希望第二次单击“播放按钮”时出现暂停功能。 有没有办法在此代码中插入“点击暂停”功能?我不想看到一个单独的按
所以我有这样的功能: function music(song) { var audio = new Audio("audio/" + song + ".ogg"); audio.play(); } 我
当我在 Chrome 中打开异常时暂停时,它会在弹出 JavaScript 错误时正确暂停,但我看不到异常消息本身。 有什么办法可以在点击“继续”之前看到该消息吗? 注意有时可以尝试从源代码中读取它,
我是一名优秀的程序员,十分优秀!