如何检测元素的offsetTop更改? 和其他元素的属性..
以下是我尝试在测试MutationObserver
上放置div
的片段,但是当我将标题div
放在更大的位置时(通过写入一些文本),观察者永远不会被触发它)。
// get the test element
var testElement = document.getElementById('test');
// build the observer
var observer = new MutationObserver(function(mutations) {
console.log("Observer triggered! YES!!");
})
// place it, listen to attributes and datas changes
.observe(testElement, {
attributes: true,
characterData: true,
});
// --- test ---
console.log("The test div is at " + testElement.offsetTop + "px from the top.");
console.log("Writting in the header div (to make it bigger)..");
document.getElementById("header").innerText = "Header text changed";
console.log("The test div is at " + testElement.offsetTop + "px from the top after header text changed.");
<div id="header"></div>
<div id="test"></div>
答案 0 :(得分:0)
除了使用令人讨厌的极点,或者只是点击元素来检查它的位置之外,没有简单的方法可以做到这一点。
有这个博客:Jquery Plug-in
它为IE和Firefox提供了一个很好的解决方案,但对Web Kit不公平。