Проверьте, установлена ​​ли прозрачность - PullRequest
0 голосов
/ 28 октября 2010

У меня есть скрипт, который анимирует непрозрачность, но если прозрачность ранее не была установлена, он просто исчезает.Мне просто интересно, есть ли способ проверить, была ли установлена ​​непрозрачность.Заранее спасибо!

1 Ответ

1 голос
/ 28 октября 2010

Как правило, не заданные свойства CSS возвращают пустое значение в JavaScript.

Обновление: Похоже, что element.style будет возвращать только те значения, которыеранее были установлены с помощью JavaScript или , указанного во встроенном стиле.Чтобы получить истинное значение свойства CSS, вам нужно использовать так называемый «вычисляемый стиль» элемента.

Вот функция (скопированная из quirksmode ), которая делает это:

function getStyle(el,styleProp)
{
    var x = document.getElementById(el);
    if (x.currentStyle)
        var y = x.currentStyle[styleProp];
    else if (window.getComputedStyle)
        var y = document.defaultView.getComputedStyle(x,null).getPropertyValue(styleProp);
    return y;
}

Однако это вернет 1.0 (значение по умолчанию), если непрозрачность не была установлена, поэтому на самом деле нет никакого способа узнать, была ли непрозрачность на самом деле определена в CSS или нет.*

...