Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在网站上设置更新值的动画?_Javascript_Jquery_Css_Animation_Jquery Animate - Fatal编程技术网

Javascript 如何在网站上设置更新值的动画?

Javascript 如何在网站上设置更新值的动画?,javascript,jquery,css,animation,jquery-animate,Javascript,Jquery,Css,Animation,Jquery Animate,我有一个元素,比如说,就是实时更新号码 问题是,我需要以一种类似于这个数字的方式来制作这个数字的动画:-但我不知道我应该怎么做。 我没有数字的范围-它们是根据API响应计算的,并放入我的 . 以前有人有过类似的想法/做法吗?请看下面的示例: $'p'.htmlThis是新的text.hide.fadeIn1000; 您好或者一个脚本呢,它将旧元素移到顶部,然后在底部添加一个新元素: var words=[]; var el={style:{}}; window.onload=function

我有一个元素,比如说,就是实时更新号码

问题是,我需要以一种类似于这个数字的方式来制作这个数字的动画:-但我不知道我应该怎么做。 我没有数字的范围-它们是根据API响应计算的,并放入我的 .


以前有人有过类似的想法/做法吗?

请看下面的示例:

$'p'.htmlThis是新的text.hide.fadeIn1000;
您好

或者一个脚本呢,它将旧元素移到顶部,然后在底部添加一个新元素:

var words=[];
var el={style:{}};
window.onload=function(){
   setInterval(function(){
        //add new values to old elem
       el.style.top="0px";
       var word=words.unshift();
      if(word){
          document.body.appendChild(el=document.createElement("p"));
          //new elems values
          el.style.top="100px";
          el.innerHTML=word;
      }
  },2000);
};
然后执行以下css使其平滑:

p{transition:all ease 2s;}
要添加新词,请执行以下操作:

words.push("1");

您可以有两个元素,我们将在其中交替设置新值&可以在这两个元素之间设置动画。因此,它将看起来像一个连续的价值链

示例代码: var i=0; 函数转换值{ var newValue=Math.floorMath.random*100+1; document.getElementById'item'+i.innerHTML=newValue; ifi==0 i=1; 其他的 i=0; } setIntervalchangeValue,2000年; @进口的https://fonts.googleapis.com/css?family=Work+Sans:800'; 身体{ 背景色:000; 颜色:fff; 字体系列:“无衬线工作”,无衬线; } 装载机{ 位置:绝对位置; 最高:50%; 左:50%; -webkit转换:翻译-50%,-50%; 转化:转化-50%,-50%; 字体大小:44px; } 装载机跨度{ 显示:块; 位置:绝对位置; 文本对齐:居中; 不透明度:0; -webkit转换:translateY100%; 转化:转化率100%; -webkit动画:计数4s立方贝塞尔0.645,0.045,0.355,1无穷大; 动画:数4s立方贝塞尔0.645,0.045,0.355,1无穷大; } 装载机跨度:N-1{ -webkit动画延迟:2s; 动画延迟:2s; } 装载机跨度:N-2{ -webkit动画延迟:4s; 动画延迟:4s; } @-webkit关键帧计数{ 0% { 不透明度:0; -webkit转换:translateY100%; 转化:转化率100%; } 50% { 不透明度:1; -webkit转换:translateY0; 变换:translateY0; } 100% { 不透明度:0; -webkit转换:translateY-100%; 转化:translateY-100%; } } @关键帧计数{ 0% { 不透明度:0; -webkit转换:translateY100%; 转化:转化率100%; } 50% { 不透明度:1; -webkit转换:translateY0; 变换:translateY0; } 100% { 不透明度:0; -webkit转换:translateY-100%; 转化:translateY-100%; } }
对于重复淡入/淡出,只需使用单个CSS@keyframes动画即可

工作示例:

var段落=document.getElementsByTagName'p'[0]; var值=0;
var maxValue=12;//只有那个动画对你有用。你也可以试试,我正在考虑,但我不太确定该如何实现它。我是否应该只包装负责计算的函数并向其中添加.fadeIn?