在Javascript中使用矩阵过滤器

在Javascript中使用矩阵过滤器,javascript,jquery,css,internet-explorer,matrix,Javascript,Jquery,Css,Internet Explorer,Matrix,我能够为所有浏览器设置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轮换,但现在我需要在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 );}
函数旋转(度){
如果((ievers==6)| |(ievers==7)| |(ievers==8)){
当前_obj.css({
/*IE8*/

“-ms filter”:“progid:dxmagetransform.Microsoft.BasicImage(rotation='+degree+')”,/*IEcurrent_obj[0]。style.filter=“progid:dxmagetransform.Microsoft.Matrix(M11=0.9659258262890683,M12=-0.2588190451025207,M21=0.2588190451025207,M22=0.9659258262890683,SizingMethod=”自动展开“


为我工作。而且,正如我所看到的,BasicImage过滤器的旋转值是以90度增量测量的。有关过滤器的更多参考资料:

您是否尝试在非IE浏览器中应用此功能?不,现在只使用IE8…我将添加其他代码来放置上下文。还需要jQuery版本。如果尝试
msFilter
会发生什么e> ms Filter
而不是
-ms Filter
?没有结果…相同的东西:“ms Filter”:“progid:DXImageTransform.Microsoft.Matrix(M11=0.9659258262890683,M12=-0.2588190451025207,M21=0.2588190451025207,M22=0.9659258262890683,SizingMethod='auto expand')”好的,这似乎越来越接近了,但现在我在实际使用类来获取对象时遇到了一个问题。我发现了大量的GetElementByClass函数,但它们似乎不起作用,只是不断抛出相同的错误:无法设置属性“filter”的值:对象为null或Unfinedwell,这很容易要按类获取元素,因为您使用的是jQuery,而且还可以通过每个函数循环它们,如下所示:jQuery('.className').each(function(){this.style.filter=“something”;});