Проверьте, уже применена ли тень - PullRequest
2 голосов
/ 29 декабря 2011

В Javascript есть способ проверить, к элементу уже применена тень блока?

Я делаю это, потому что я добавляю внутреннюю (вставленную) рамку-тень, когда уже может быть внешняя тень. Если тень уже есть, мне нужно поставить запятую перед новым стилем текста.

var shadowStyle = "5px 5px #000000";

if (ele.hasBoxShadow())
{
   ele.style.boxShadow += ", "+shadowStyle;
   ele.style.WebkitBoxShadow += ", "+shadowStyle;
   ele.style.MozBoxShadow += ", "+shadowStyle;
   ele.style.OBoxShadow += ", "+shadowStyle;
   ele.style.MsBoxShadow += ", "+shadowStyle;
}
else ele.style.boxShadow = shadowStyle;
     ...

1 Ответ

1 голос
/ 29 декабря 2011

Если вы хотите сделать это с ele.hasBoxShadow().

Element.prototype.hasBoxShadow = function() {
    return window
            .getComputedStyle(this)
            .getPropertyCSSValue('box-shadow')
            .cssText != 'none';
}

jsFiddle .

Это также работает , если свойствоустановить с префиксом поставщика (по крайней мере, в Firefox 8)

Однако я бы не рекомендовал увеличивать Element prototype.Создайте утилиту объект и добавьте это как метод.

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