Javascript 应用样式转换:缩放(xValue、yValue)时触发浏览器事件
在我的网页中,当transform属性应用于div标记时,我需要使用JavaSCript处理更改。我的方法是使用eventListeners。但我无法找出缩放div标记时触发的事件Javascript 应用样式转换:缩放(xValue、yValue)时触发浏览器事件,javascript,browser,scale,css-transforms,dom-events,Javascript,Browser,Scale,Css Transforms,Dom Events,在我的网页中,当transform属性应用于div标记时,我需要使用JavaSCript处理更改。我的方法是使用eventListeners。但我无法找出缩放div标记时触发的事件 // html ement <div id='my-container'> ... some conetent </div> // applying CSS style by other modules using javaScript document.getElementById('m
// html ement
<div id='my-container'> ... some conetent </div>
// applying CSS style by other modules using javaScript
document.getElementById('my-container').style.transform ='scale(0.8,0.8)'
// My JS code to handled the support 'my-container' against scale css
document.getElementById('my-container').addEventListener('??????',console.log);
//html
... 一些探索者
//其他模块使用javaScript应用CSS样式
document.getElementById('my-container').style.transform='scale(0.8,0.8)'
//我的JS代码处理对缩放css的“我的容器”支持
document.getElementById('my-container').addEventListener('?????',console.log);
请告诉我缩放元素后是否触发任何事件
或者我需要使用任何其他方法来处理这种情况吗
注意:尝试过的animationstart、animationend、transitionend事件侦听器当样式
属性更改时,可以使用触发函数。set
回调函数中的prop
参数定义了已更改的样式,因此可以使用if
语句检查正在更改的属性
constelementstyle=newproxy(document.getElementById('my-container').style,{set:function(o,prop,style){
if(prop==“transform”){
//样式转换更改时的todo
console.log(“转换已更改”);
}
o[prop]=风格;
}});
elementStyle.transform=“比例(0.8,0.8)”;//触发器控制台.log
elementStyle.color=“绿色”//不触发函数调用
。。。一些conetent
你不需要一个事件监听器,因为缩放后的下一行将立即执行。我猜你的问题是来自CSS转换的缩放动画,JS无法知道何时完成。(或许可以,但不太可能)。因此,与其使用超时,不如使用超时。可能与我使用动画事件尝试过的相同,转换样式不会触发任何动画事件@Randycasburn可能这个答案就是您要寻找的答案。谢谢答案,谢谢答案,但只有当我们使用elementStyle对象更改样式时,它才起作用。请分别尝试document.getElementById('my-container').style.transform='scale(0.8,0.9')。我的观点是,如果它是从不同的脚本更改的,那么我如何处理它。