用一个变量计数,
动画的那段代码最有count++
然后判断count的大小是否超过阈值
var count=0;
while(count<5)
{
播放动画;
count++;
}
不了解具体情况,只能按我的理解回答了
可以试试移除动画的类再重新给节点添加动画的类
下面这个demo是执行一次动画,2s后再重新执行一遍
(因为是demo,我就没有考虑兼容性问题,没有添加css前缀)
<div class="dot anm" id="anm"></div>dot {position: relative;
width: 100px;
height: 100px;
margin: 100px;
border-radius: 50%;
background: #000;
}
anm {
animation: move 1s forwards;
}
@keyframes move
{
from {
left:0px;
}
to {
left:200px;
}
}setTimeout(function() {
var dom = documentgetElementById('anm');
domclassName = 'dot';
setTimeout(function() {
domclassName = 'dot anm';
}, 10);
}, 2000);
background-color: white;
color: #ccc;
}
50%{
background-color: #ccc;
color: white;
}
to{
background-color: white;
color: #ccc;
}
}
JS部分:
contentclassName = 'changeStyle';
/
data:2022-11-17
author:lfp
move运动函数
dom--需要运动的对象
json--{width:100,height:100,left:100,top:100}
callback--回调函数 可调用自己 实现异步动画效果
/
//主函数
function move(dom,json,callback){
//让每一次动画都是新的开始,防止出现动画一直不停的运行
if(domtimer)clearInterval(domtimer);
var i=0;
var start=0;
//在对象中增加timer 便于控制他停止
domtimer=setInterval(function(){
i++;
//循环每一个目标属性添加动画方法
for(var attr in json){
//获取当前attr的属性值 已经去除了px 还有 如果初始值是auto 用零代替
var cur=getStyle(dom,attr);
if(i==1)start=cur;
//拿到该属性的目标值
var target=json[attr];
//设置分成10次增加增量 你可以根据需要修改
var speed=(target-start)/10;
consolelog(speed+"====="+cur)
//如果没有达到目标值就一直加
if(Mathabs(cur-target)>1){
domstyle[attr]=cur+speed+"px";
}else{
//达到目标值了就停止或者其他情况也停止
clearInterval(domtimer);
//等停止了动画再回调函数进行另外的 *** 作
if(callback)callbackcall(dom);
};
};
},45);
};
//配套函数
function getStyle(dom,attr){
var value="";
if(windowgetComputedStyle){
value=windowgetComputedStyle(dom,false)[attr];
}else{
value=domcurrentStyle[attr];
};
value=parseInt(value);
return value || 0;//如果你再样式中没有设置初始的值就会出现NaN 所以要用0来补充
};
function $(id){
//return documentgetElementById(id);
return documentquerySelector("#"+id);
};
<audio id="audio" controls>。
<source src="horseogg" type="audio/ogg">。
<source src="horsemp3" type="audio/mpeg">。
您的浏览器不支持 audio 元素。
</audio>。
<script>。
var audio=documentgetElementById("audio")。
audioduration//播放时间。
audiocurrentTime//播放进度。
</script>。
udio是英文单词,有多种含义:Audio是AU格式一种经过压缩的数字声音格式的详写;Audio是音频的单词;Audio是听觉的单词。听觉声波作用于听觉器官,使其感受细胞兴奋并引起听神经的冲动发放传入信息,经各级听觉中枢分析后引起的感觉。
<audio id="audio" controls>。
<source src="horseogg" type="audio/ogg">。
<source src="horsemp3" type="audio/mpeg">。
您的浏览器不支持 audio 元素。
</audio>。
<script>。
var audio=documentgetElementById("audio")。
audioduration//播放时间。
audiocurrentTime//播放进度。
</script>。
udio是英文单词,有多种含义:Audio是AU格式一种经过压缩的数字声音格式的详写;Audio是音频的单词;Audio是听觉的单词。听觉声波作用于听觉器官,使其感受细胞兴奋并引起听神经的冲动发放传入信息,经各级听觉中枢分析后引起的感觉。
threejs animationclip怎么播放
可以试试移除动画的类再重新给节点添加动画的类
下面这个demo是执行一次动画,2s后再重新执行一遍
(因为是demo,我就没有考虑兼容性问题,没有添加css前缀)
1
<div class="dot anm" id="anm"></div>
dot {
position: relative;
width: 100px;
height: 100px;
margin: 100px;
border-radius: 50%;
background: #000;
}
anm {
animation: move 1s forwards;
}
@keyframes move
{
from {
left:0px;
}
to {
left:200px;
}
setTimeout(function() {
var dom = documentgetElementById('anm');
domclassName = 'dot';
setTimeout(function() {
domclassName = 'dot anm';
}, 10);
}, 2000);
以上就是关于如何用htmljs脚本控制动画的播放次数动画为自己在网页上用程序写的非导入外部文件全部的内容,包括:如何用htmljs脚本控制动画的播放次数动画为自己在网页上用程序写的非导入外部文件、如何用js使得一个已经结束的css的animation动画重新执行一遍、js点击触发 animation 动画 如何实现等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)