MutationObserver仅适用于FF

时间:2018-01-19 22:28:38

标签: javascript jquery google-chrome opera mutation-observers

我有一个id ='obsah_popis'的DIV(它基本上保存了所有的页面内容),这个div根据请求动态填充(通过点击菜单按钮,photogalery按钮等),所以它的高度不是恒定的,而是变化的不同物体进出时加班(加载/加载)。

我需要监控其自定义构建(编码)卷轴的实际高度,根据该高度值重新计算其高度及其周围所需的一切。

我制作了一个MutationObserver,因为效果很好...但只适用于Firefox (46+) - 当我在Chrome(63)或Opera(50)下运行它时它不起作用一点都不。

我的观察者部分的代码看起来像这样(为了测试的目的,我只添加了alert()来启动让我知道它被触发了):

var test = new MutationObserver(function(mutations) {
    alert();
    //resizeSkrolerHandle();            
});
test.observe(document.querySelector('#obsah_popis'), {
    attributes:true,
    childList:true,
    characterData:true,
    subtree:true
});
很奇怪BTW奇怪(至少对我而言)我在同一个地方运行的另一个MutationObserver(在我的功能不正常的地方)在所有浏览器中完美运行:

var bbb = new MutationObserver(function(mutations) {
    document.getElementById("parallax_pozadie").style.top = document.getElementById("parallax_static").style.top = (document.getElementById("skroler").getBoundingClientRect().top * -1) * scrollSpeedMultiply + "px";
});
bbb.observe(document.querySelector('#skroler'), {
    attributes:true,
    childList:false
});

我看到的唯一区别是,这个工作的实际上是由 MANUAL INPUT (拖动我的自定义卷轴)启动的,而那个非工作的应该以编程方式启动

是否有人知道原因并可能解决此问题?

0 个答案:

没有答案