Использование матричного фильтра в Javascript - PullRequest
3 голосов
/ 23 февраля 2012

Я могу настроить вращение CSS для всех браузеров, но теперь мне нужно сделать это внутри Javascript.Я также использую jQuery и в настоящее время следующее:

.css({ '-ms-filter':"progid:DXImageTransform.Microsoft.Matrix(M11=0.9659258262890683, M12=-0.2588190451025207, M21=0.2588190451025207, M22=0.9659258262890683, SizingMethod='auto expand')"  });

не работает.Тот же код в CSS работает отлично.Я пытался избежать апострофов, но это не сработало.Есть идеи?Сначала мне нужно установить значения, поэтому просто .CSS, как показано выше.Затем значения обновляются с помощью следующей функции:

function rotate(degree){ 
if((ievers==6)||(ievers==7)||(ievers==8)){
current_obj.css({
/* IE8 */
'-ms-filter':'"progid:DXImageTransform.Microsoft.BasicImage(rotation='+degree+')"',/* IE<8 */'filter':'progid:DXImageTransform.Microsoft.BasicImage(rotation='+degree+')'});
} else {
/* HANDLE OTHER BROWSERS */ ...
};
rotatetimer = setTimeout(function(){ rotate(++degree); },10 );}

Этот код настроен и работает во всем, кроме IE7 / 8 (поскольку (вращение = x) позволяет вам только 4 варианта вращения.пытаюсь поменять эту строку с .Matrix и динамически вычислять значения SIN / COS на лету.

1 Ответ

1 голос
/ 24 февраля 2012

current_obj [0] .style.filter = "progid: DXImageTransform.Microsoft.Matrix (M11 = 0,9659258262890683, M12 = -0,2588190451025207, M21 = 0,2588190451025207, M22 = 0,96592582628900)

работал на меня.Кроме того, как я вижу, значение вращения фильтра BasicImage измеряется с шагом в девяносто градусов.Больше ссылок на фильтры: MSDN фильтры

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