我从MSDN page on Matrix Filters获取了代码并略微修改了它。函数都期望输入变量oObj
最初从onfilterchange
传递:
<DIV ID="oDiv" STYLE="position:absolute;
filter:progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand')"
onfilterchange="fnSpin(this)" >
我现在要做的是使用按钮的setRotation
事件向onclick
函数发送任意值:
<input type="button" onclick="var theDiv = document.getElementById('oDiv'); setRotation(theDiv,45)" value="Set">
不幸的是,当我点击按钮时,我得到一个错误:预期的对象。我显然误解了this
中onfilterchange
的确切含义 - 我认为这将是ID为oDiv的HTML元素。据我所知filters should exist on the DIV element。我记得最近在Javascript: The Good Parts中阅读了this
在不同情况下所引用的内容的精彩描述,但我现在无法访问打印版本,并在Safari版本中搜索“this”hasn效率很高。
我尝试过的事情(主要是希望它是一个模糊的IE错误):
document.getElementById('oDiv')
作为setRotation
document.all
代替getElementById
styles
答案 0 :(得分:0)
在我看来你有一个错字:
此致:
<input type="button" onclick="var theDiv = document.getElementById('oDiv'); setRotation(theDiv,45)" value="Set">
的网站:
<input type="button" onclick="var theDiv = document.getElementById('oDiv').style; setRotation(theDiv,45)" value="Set">
theDiv似乎是指实际div本身的 style 属性。