2014-12-15 2 views
3

Как извлечь свойство стилязначения экстракт JQuery из CSS

<div id="clipProperty" style="clip: rect(0px 281px 647px 0px);"></div> 

и добавить его к # getClipVaalues ​​с 30 вычитают из второго значения 281, так что он говорит клип: прямоугольник (0px 251px 647px 0px) ?

<div id="getClipValues"></div> 

Это мой JS код

var clipProperty = $('#clipProperty').attr('style'); 
$('#getClipValues').attr('style', clipProperty); 

Свойство clipProperty не постоянна, а меняется регулярно. Но мне всегда нужно вычесть 30 из второго значения.

+0

«Хотите ... "не вопрос. Можете ли вы добавить актуальный вопрос? С вопросительным знаком? – Chrismas007

ответ

3

Это сделать это:

var re = /rect\((\d+)px (\d+)px (\d+)px (\d+)px\)/; 
var oldClip = $('#clipProperty').css('clip'); 
var newClipVal = oldClip.replace(re, "$2"); 
$('#getClipValues').css('clip','rect(0px '+(newClipVal-30)+'px 647px 0px)'); 
+0

Я должен был упомянуть, значение #clipProperty не является константой, поэтому мне нужно вычислить любой oldClip. – Newcoma

+0

Это сделало бы это. – j08691

+0

он не работает в IE 10. newClipVal возвращает rect (0px, 766px, 842px, 0px) вместо всего 766px. Ты знаешь почему? – Newcoma

0

Вы ищете что-то вроде этого:

var clip = $('#clipProperty').attr('style'); 

var clip2 = $('#getClipValues').css('clip', 'rect(0px 231px 647px 0px'); 

Я сделал немного jsFiddle с ним, чтобы получить результат: http://jsfiddle.net/jtu5y1te/1/

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