Получение значения элемента CSS - PullRequest
0 голосов
/ 09 февраля 2012

Может кто-нибудь сказать мне, в чем проблема с этим фрагментом JS?Я пытаюсь присвоить значение 'margin-top контейнера переменной m.

function test() 
{
  var e = document.getElementById('container');
  var m = e.style.getPropertyValue("marginTop");
  alert (m);        
}

edit: оповещение предназначено для отображения значения m

Ответы [ 2 ]

0 голосов
/ 09 февраля 2012

Вы можете попробовать использовать эту простую функцию:

function test() 
{
    var e = document.getElementById('container');
    var m = getStyle(e, "marginTop");
    alert ('hi ' + m);       
}

function getStyle(el,styleProp)
{
    if (el.currentStyle)
        var y = el.currentStyle[styleProp];
    else if (window.getComputedStyle)
        var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
    else 
        var y = el.style[styleProp];
    return y;
}
0 голосов
/ 09 февраля 2012

Попробуйте:

function getStyle(elment, style) {
    var x = document.getElementById(element);

    if (x.currentStyle) {
      var y = x.currentStyle[style];
    } else if (window.getComputedStyle) {
      var y = document.defaultView.getComputedStyle(x, null).getPropertyValue(style);
    }

    return y;
}

function test() {
    var m = getStyle('container', 'margin-top');
    alert(m);
}

Кроме того, будьте осторожны с переменной областью действия.m не будет определено за пределами test().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...