2013-07-02 3 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, говорит. Но да - когда я вручную добавляю это правило в Firebug (margin-left), то он выглядит правильно отображаемым. –

ответ

3

Я нашел эту проблему и ликвидируется фиксируя его с этим:

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

По какой причине Firefox не нравится SetStyle от Scriptaculous на том, что ,

+2

, чтобы использовать 'setStyle()' правильно, вам нужно использовать случай верблюда. . '$ ('Site_wrap_neo') SetStyle ({ 'MarginLeft': '200px'})' –

Смежные вопросы