关于CSS滤镜的层次问题
<html>  
  <style>  
 /*img{filter:alpha(opacity=5);background-color:#f00;}*/ 
  </style>  
  <body>  
  <img   id= "test "   src= "test.jpg "   onclick= "fun(this) "      
 style= "filter:light(enabled=1) "/>    
  </body>  
  <script   lang=javascript   type=text/javascript>  
 function   fun(obj) 
 { 
 	/*obj.filters.alpha.opacity+=5;*/ 
 obj.filters.clear();            //该处为什么用filters就可以完成功能,而下面这行为什么要用数组的形式? 
 obj.filters[0].addcone(window.event.x,-20,5,100,100,255,255,0,40,25);            //另外这行为什么不能直接写成this.filters[0].method()这样的形式?  	 
 } 
  </script>  
  </html>    
 问题请看注释
------解决方案--------------------alpha滤镜参数有很多的了,没有参数,就只能是默认地属性。有参数可以实现更高级地效果。不过现在滤镜的应用是受到限制的,仅IE支持。 注重内容,不要太热衷于花俏地小技巧了。 
 Drive for show, put for goal. 
 挥杆只是为了好看作秀,真功夫在于推杆地技巧了 —— 打高尔夫窍门
------解决方案--------------------这里不用this的原因是因为在fun(this)中的this代表img这个对象 
 所以在接受的时候也是针对这个对象obj的 
 如果fun(obj)该为fun(this)的话他就可以用this了 
 或者你在这个方法里面定义以下 
 fun(obj){ 
    var this=obj; 
  //这里操作的也是个对象 
    this.filters[0].addcone(window.event.x,-20,5,100,100,255,255,0,40,25) 
 } 
 就可以调用了 
------解决方案--------------------this是指当前对象。 
 obj.filters指当前对象的滤镜对象, 
 obj.filters[0]指当前对象的第一个滤镜 
 用prototype来增加。