удобный парсинг фильтров.
есть CSSStyleDeclaration, и оттуда как-то надо взять значения для опр. фильтра.
пример : parse(style, "progid:DXImageTransform.Mircosoft.Aplha"); // то же самое, что и object.filters["progid..."], т.е. объект. собственно, вопросы
PS если я сам себе отвечу, то эта тема будет считаться как решение проблемы :) |
извините за даблпост.
спарсить фильтры из строки, то есть получить значения фильтров из свойства style, можно таким образом: var filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=50) "+ "progid:DXImageTransform.Microsoft.Blur(pixelradius=2) "+ "progid:DXImageTransform.Microsoft.Matrix(M11=1, M12=0, M21=0, M22=1, sizingMethod='auto expand')"; var filterReg = /([\w.]+)\(([^)]+)/g, matched; var filters = {}, parsed, curr, i, splitted; while(matched = filterReg.exec(filter) ){ curr = filters[matched[1]] = {}; parsed = matched[2].split(/,\s?/); for(i = 0; i in parsed; i += 1){ splitted = parsed[i].split("="); curr[ splitted[0] ] = splitted[1]; } } console.dir(filters); как-то так. мне важно было только спарсить матрицу, поэтому код для моей цели должен быть таким, ещё проще: var filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=50) "+ "progid:DXImageTransform.Microsoft.Blur(pixelradius=2) "+ "progid:DXImageTransform.Microsoft.Matrix(M11=1, M12=0, M21=0, M22=1, sizingMethod='auto expand')"; alert( filter.match(/M\d{2}=[\d.]+/g).join("\n") ); |
Часовой пояс GMT +3, время: 19:04. |