我正在尝试调整页面大小(或在较小的显示器上打开)时动态调整页面上的某些元素。有一段代码大致如下所示:

$('some_id').setStyle({'margin-left':'200px'});


而且它可以在Chrome中按预期工作,但在Firefox中失败,没有JavaScript警告或错误。并且明确地说,我已经检查了Firefox中的元素。只是没有设置样式而已。如果我使用检查器手动添加此规则,则它会按预期工作。

已请求更多代码:

function reset_ad_size() {
    topAlign($('leftColumn'), $('adContentLeftFloat'));
    leftSide = leftAlign($('mainBodyFrame'), $('adContentLeftFloat'));
    leftSide -= 190;

    if(leftSide < 0) {
        $('site_wrap_neo').setStyle({'margin-left':'200px'});
        leftSide = 5;
    }
    $('adContentLeftFloat').setStyle({left:leftSide+'px'});
}

document.observe("dom:loaded", function() {
  reset_ad_size();
  window.onresize = function() {
    reset_ad_size();
  }
});

最佳答案

我发现了问题,并最终解决了这个问题:

$('site_wrap_neo').style.marginLeft='200px';


出于任何原因,Firefox都不喜欢Scriptaculous上的setStyle。

09-17 22:39