是否有一种方法来拦截/监控Javascript中的CSS属性改变使用香草Javascript
Is there is a way to intercept/monitor in Javascript that CSS property changed using vanilla Javascript
是否有一种方法可以在Javascript中拦截/监控使用香草Javascript更改的CSS属性?比如改变宽度属性:
.div {
width:100px;
}
.div:hover {
width:200px;
}
…
<div class="div">Blah</div>
编辑:我的意思不是悬停状态的改变,我想检测的宽度属性的DIV改变。它可能是任何其他属性或任何其他改变属性的方式:例如,我输入div. classname = "div bigBox",其中:
.bigBox { width:200px;height:200px }
,我想知道高度属性改变了!
您可以设置一个间隔,并观察所讨论的css属性:
var cssWatchInterval = false;
function cssWatch (element, property, handler) {
if (cssWatchInterval !== false)
clearInterval(cssWatchInterval);
var comp = element.currentStyle || getComputedStyle(element, null);
var current_prop_value = comp[property];
cssWatchInterval = setInterval(function () {
var comp = element.currentStyle || getComputedStyle(element, null);
if (comp[property] != current_prop_value) {
stopCssWatch();
handler(element);
}
}, 250);
};
function stopCssWatch() {
clearInterval(cssWatchInterval);
}
试试:http://jsfiddle.net/wAtvp/6/
无法检测到类/宽度的变化。
您可以检测悬停。
document.getElementById('divID').onmouseover = function(event) {
//do something
}
你可能想看看JQuery 1.4.3+中提供的cssHooks,而不是轮询
http://api.jquery.com/jQuery.cssHooks/相关文章:
- 如何根据需要优雅地添加javascript/css
- 颗粒-JavaScript/CSS缩小SIMPLE/ADVANCED优化不起作用
- 在 javascript css 属性中使用变量
- Javascript/Css导航未显示在jquery文档上,仅在ie中准备就绪
- Javascript -> CSS (display:none to display:block)
- 如何使用javascript/css创建一个弹出屏幕的表单
- JavaScript:css 将开关切换到暗模式
- 删除加载javascript/css时的页面闪烁
- 使用 JavaScript CSS 的下拉菜单
- 影响JavaScript / CSS的HTML空间格式
- javascript css更改问题
- HTML/Javascript/CSS框堆叠在一起
- 优化JavaScript CSS下载
- 为什么javascript+CSS显示设置会使单选按钮不受欢迎
- 如何对齐画布旁边的文本和按钮(WebGL+JavaScript+CSS)
- 向上一个/下一个图像幻灯片添加计数器(仅限javascript/css)
- Javascript/CSS,如何保持更改
- SEO,PHP MasterPage和渲染阻塞Javascript/CSS
- Javascript&Css - onclick() 上的图像修改
- 如何使用变量制作纯 javascript .css() 函数