1

我想在触发CakePHP的JsHelper的事件函数时放一个加载 div。这是我的代码:

$this->Js->get('#MonthlyProgressProjectId')->event('change',
            $this->Js->get('#MonthlyProgressAddForm')->request(array(
                'action' => 'get_institution'), array(
                'update' => '#institution',
                'dataExpression'=>TRUE, 
                'method'=>'POST',
                'async'=>TRUE,
                'data' => $js->serializeForm(array('isForm' => TRUE, 'inline' => TRUE)))));

在这里你看,我得到了表格,然后使用了这个request()函数。但是在触发此功能时,我想显示一个加载 div。我怎样才能做到这一点?

4

1 回答 1

0

将加载图像添加到您想要的位置。例如 $this->Html->image('loading.gif', array('id'=> 'loader'));

将以下内容添加到请求的选项数组中:

'before' => $this->Js->get('#loader')->effect('fadeIn', array('buffer' => false));
'complete' => $this->Js->get('#loader')->effect('fadeOut', array('buffer' => false));

现在你几乎完成了。您希望#loader在第一次登陆页面时不可见,因此添加到您的 CSS#loader { display: none; }中。

现在,当您的事件被触发时,#loader将随着您的加载图像淡入。完成后,它会再次淡出。如果你想要一个 div 围绕它,只需用一个 ID 围绕它包装一个 div,然后对其执行操作。

于 2012-08-19T13:38:04.577 回答