2013-03-13 4 views
0

У меня есть div, к которому будет применен some CSS shadow. Мне нужно, чтобы получить следующие теневые элементы с JQuery:Получить теневой стиль с jQuery

  • h-shadow, v-shadow, blur и spread в пикселях
  • colorтени, в какой-то строки, не имеет значения, как
  • inset , если он применяется в собственности box-shadow.

Как это сделать? Существуют ли определенные свойства CSS, например border-top-right-radius, чтобы получить верхний правый радиус границы вместо того, чтобы работать с border-radius?


Итак, пример кода:

<div id="the_div" style="box-shadow:10px 10px 5px 2px #f00 inset;">...</div> 

Теперь некоторые JavaScript ...

$(function(){ 
    $('#the_div').someFunction(); // returns the h-shadow, for example 
}); 
+0

Что значит «Мне нужно получить .... с помощью jQuery»? – caramba

+0

Я хочу получить значение, как с помощью '$ ('selector'). Height()'. Но тогда не высота, а эти свойства. – Keelan

+0

вставьте свой код – Biswajit

ответ

2

То, что вы хотите, это такая вещь:

jQuery getting text-shadow variabile

В основном, решения просто использовать некоторые регулярное выражение для разделения текста тень на color, y, x, и blur.

+0

Вот что мне нужно! Я буду отмечать мой вопрос как дубликат. Спасибо за вашу помощь! – Keelan

0
jQuery("#divID").css("color"); 

Это будет получить цвет - JQuery получите свойство CSS вы просите : jQuery CSS

+0

Извините, если я не был ясен, то, что я хочу, это цвет, который применяется к свойству CSS-box-shadow. – Keelan

0
alert($('.myElementClass').css('box-shadow)); 
<!DOCTYPE html> 
<html> 
<head> 
<style> 
div.xxx { 
    position: relative; 
    background-color: #abc; 
    width: 40px; 
    height: 40px; 
    float: left; 
    margin: 5px; 
    box-shadow: 10px 10px 5px #888888; 
} 
</style> 
<script src="http://code.jquery.com/jquery-latest.js"></script> 
</head> 
<body> 
<p><button id="go">Run »</button></p> 
<div class="xxx"></div> 
<script> 
    $("#go").click(function(){ 
     alert($('.xxx').css('box-shadow')); 
    }); 
</script> 
</body> 
</html> 
+0

Мне нужно разделить значения, так что одна переменная с 'h-shadow', одна с' v-shadow' и т. Д. – Keelan

+1

Как я уже сказал в своем ответе, это простое упражнение для синтаксического анализа строк.Вы можете разделить возвращаемую строку с символом пробела, чтобы получить массив, а затем основываясь на правилах CSS, вы узнаете, какой элемент массива соответствует какому свойству. –

+0

@FrankB это не так просто. Посмотрите на ** ПРИМЕЧАНИЕ ** [здесь] (http://stackoverflow.com/a/2683393/1544337): разные браузеры могут действовать по-разному. – Keelan

0

Вы должны будете использовать:

$("#divID").css("box-shadow"); 

Затем разобрать возвращенную строку для свойств, которые вы хотите. Поскольку строка может меняться, я не собираюсь выписывать функцию. Но вы должны быть в состоянии взять это отсюда.

EDIT: Поскольку разные браузеры ведут себя по-разному, вы можете проверить в браузере, используя верхний ответ от here.

также ответ вы связаны в предыдущем комментарии на другой ответ, ответ на ваш вопрос. Вы можете найти here

+0

«Тогда разобрать ...» да, но как ... Вот в чем проблема. – Keelan