【问题标题】:Detecting child element animation检测子元素动画
【发布时间】:2015-07-09 12:32:16
【问题描述】:

我有一个父 div,里面有从左到右动画的子 div。如何检测是否有任何子 div 动画。子 div 正在移动,并且子 div 样式中的左侧位置不断变化,因为它们从左向右移动。

<div id="products">
<div id="product1 style="color:blue;left:10px;"></div>
<div id="product2 style="color:blue;left:20px;"></div>
<div id="product3 style="color:blue;left:30px;"></div>
</div>

左边的数字在变化,有什么方法可以检测到变化。提前致谢

【问题讨论】:

  • 动画是怎么触发的
  • 是什么导致了这种变化?
  • 实际上这是一个广告,当我将 html 上传到我公司的平台时,它会添加额外的脚本文件来为我的 div 设置动画。子 div 中的左侧位置不断变化

标签: javascript jquery css html


【解决方案1】:

我在移动设备上并没有对此进行测试,但它应该可以工作

var a = document.getElementById('products').querySelectorAll('div');
for (var i=0;i<a.length;i++){
    var now = a[i].style.left;
    setTimeout(function(){
         if (a[i].style.left != now)
         {
             // the element is animated
         }
    },2);
}

【讨论】:

  • 它说 script.js:47 Uncaught TypeError: Cannot read property 'style' of undefined
  • 可能是因为您的 HTML 无效。用 "" 将 ID 括起来
  • 尝试更新代码,因为它添加了没有样式的额外 div,错误消失了,但它只是第一次工作,当左侧属性更改时不起作用 if($(a[i] ).css('left') == '0'){ } else { console.log("a"); }
  • 你不能在 a[i] 上使用 jquery
  • 那么如何检查某些div是否没有样式属性
猜你喜欢
  • 2016-01-04
  • 1970-01-01
  • 2023-03-24
  • 1970-01-01
  • 2020-07-22
  • 2017-04-24
  • 2018-08-20
  • 2023-03-23
  • 2017-04-27
相关资源
最近更新 更多