【问题标题】:Scriptaculous - setStyle not working in FirefoxScriptaculous - setStyle 在 Firefox 中不起作用
【发布时间】:2013-06-30 03:37:52
【问题描述】:

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

$('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();
  }
});

【问题讨论】:

  • 我已经编辑了帖子并更新了代码。
  • JavaScript 已启用,我的意思是当您右键单击并说“使用 Firebug 检查元素”时。我认为它在 Chrome 中被称为检查器。但是,是的 - 当我在 Firebug 中手动添加该规则(左边距)时,它似乎可以正确呈现。

标签: javascript prototypejs scriptaculous


【解决方案1】:

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

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

出于某种原因,Firefox 不喜欢 Scriptaculous 中的 setStyle。

【讨论】:

  • 要正确使用setStyle(),您需要使用驼峰式。 $('site_wrap_neo').setStyle({'marginLeft':'200px'})
猜你喜欢
  • 2012-10-18
  • 1970-01-01
  • 2022-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-27
  • 2012-02-27
相关资源
最近更新 更多