2012-06-01 123 views
0

我想淡入div的效果,下面的脚本不起作用。可能是什么问题?非常感谢。使用scriptaculous的淡入淡出效果

function fadeIn(){ 

    $('test').invoke("fade", { 
     from: 0, 
     to: 1, 
     afterFinish: function() { 

      $('test').setStyle({ 
       display: 'block'    
      });   
     } 
    }); 
} 

<div class='top'> 
    <div id="test" style="display:none"> 
     Fade in test 
    </div> 
</div> 

<a href="#" onClick="fadeIn(); ">Click me</a> 

回答

1

问题是invokeEnumerable的方法,以及$返回一个Element,而不是一个Enumerable

由于$有效是getElementById的别名,也没有必要为它返回元素的数组(你只能有任何给定的id一个元素,那么只有一个元素都不会被退回)。

你可以只调用fade直接的元素:

$('test').fade({ 
    from: 0, 
    to: 1, 
    afterFinish: function() { 
     $('test').setStyle({ 
      display: 'block'    
     });   
    } 
});