0

我是 JavaScript 新手,我发现它在 CakePHP 中特别令人困惑。

我有一个 AJAX 调用,它获取另一个页面并将其放在一个 div 中。这有效,但我希望它淡入而不是仅仅出现。

这是我到目前为止的代码:

$this->Js->get('#load_items');
$this->Js->event('click', $this->Js->request(
    array('action' => 'plain_items'),
    array(
        'async' => true, 
        'update' => '#items',
        'complete' => 'onComplete'
    )
));
$this->Js->event('onComplete', $this->Js->effect('fadeIn'));

echo '<div id="items"></div>';
echo $this->Form->submit('Load Items', array('id' => 'load_items'));

获取“plain_items”视图并将其加载到“items”div 中没有问题,但我无法让它在加载时淡化它。我究竟做错了什么?

4

1 回答 1

0

$this->Js this包含#load_items的对象,如果你想淡入div#items,那么你需要取这个div的oject然后淡入..见下面的例子

$this->Js->event('click', $this->Js->request(
    array('action' => 'plain_items'),
    array(
        'async' => true, 
        'update' => '#items',
        'before' => $this->Js->get('#items')->effect('fadeOut', array('buffer' => false)),
        'complete' => $this->Js->get('#items')->effect('fadeIn', array('buffer' => false))
    )
));
于 2012-10-05T17:06:45.910 回答