2013-07-02 45 views
2

我试图调整页面大小(或在较小的显示器上打开)时动态调整页面上的某些元素。有一段代码,看起来大致是这样的:Scriptaculous - setStyle在Firefox中不工作

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

我已编辑帖子并更新了代码。 –

+0

JavaScript已启用,我的意思是当您右键单击并说“使用Firebug检查元素”时。它被称为Chrome中的检查员,methinks。但是 - 当我手动在Firebug中添加该规则(左边距)时,它看起来正常渲染。 –

回答

3

我发现这个问题,并结束了与此修复它:

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

无论出于何种原因的Firefox没有像从Scriptaculous的上的使用setStyle 。

+2

要正确使用'setStyle()',你需要使用骆驼案例。 。'$( 'site_wrap_neo')的setStyle({ 'marginLeft': '为200px'})' –