好的,我一直在寻找一段时间......而且当使用帮助器将内容加载到div时,我无法找到与jquery和cakephp相关的内容$ this-> Js-> link ... so我决定在这个令人敬畏的网站上发布我的问题......我的第一个问题,它是如此愚蠢(我猜)。
所以...机制工作正常,我的意思是..它将内容加载到一个名为“算法”的div中,但现在我尝试添加一些效果(fadein),我无法找到正确的语法!我是全新的蛋糕......只用了1个月就可以了。
如何在显示这个该死的div时添加“fadeIn”效果?我已经尝试了很多东西,但到目前为止,没有任何东西可以使div加载内容与fadein效果无关......
echo $this->Js->link('Categoria 1', array('controller' => 'Categories', 'action' => 'categorias1'), array('update' => '#algo'));
这完美地加载了我在div中的类别1上的一堆图片,我问......我该怎么做才能添加淡入效果?我添加了一些疯狂的东西,看看它们是否有效......但是......没有运气
我甚至试过这个疯狂的人:echo $this->Js->link('Categoria 1', array('controller' => 'Categories', 'action' => 'categorias1'), array('update' => '#algo', array('effect' =>array('fadeIn', array('speed' => 'slow'), true))));
任何帮助都会被贬低!没人用cakephp显示div的例子..或者至少我找不到适合我需要的那个!
顺便说一句很棒的网站!这些年来它给了我很多帮助!答案 0 :(得分:1)
我终于让自己完成了我想要做的事情,我想和你们分享我的所作所为:
echo $this->Js->link('categoria 1', array('controller' => 'Categories', 'action' => 'categorias1'),array('update' => '#categorias', 'evalscripts' => true, 'before' => $this->Js->get('#algo,#categorias2')->effect('fadeOut', array('buffer' => false)), 'complete' => $this->Js->get('#categorias')->effect('fadeIn', array('buffer' => false))));
这段巨大的代码正在做我期望的事情,我还在我的jquery帮助器中添加了一些编辑,以便将它们传递给多个div,这样我就可以同时刷新它们。
如果你们想要破解你的助手,请输入以下代码:
饼/库/视图/助手/ jquery_engine.php
找到这一行:
$success .= $this-jQueryObject . '("' . $options['update'] . '").html(data);';
并将其替换为:
if(is_array($options['update'])){
$success .= 'var temp = ' . $this->jQueryObject . '(" <div/>").html(data);';
foreach($options['update'] as $divId){
$success .= $this->jQueryObject . '("' . $divId . '").html(' . $this->jQueryObject . '("' . $divId . '", temp).html());';
}
} else {
$success .= $this->jQueryObject . '("' . $options['update'] . '").html(data);'; //linea que ya estaba
}
//termina agregado
答案 1 :(得分:0)
正如Dunhamzzz所建议的那样,我手工编写了所有jQuery,并且从不使用帮助程序。似乎没有任何意义。
一个有用的提示,将基本URL和任何其他有用的蛋糕变量作为javascript变量传递到您的页面中。将其添加到您的布局:
<?php
$baseUrl = Router::url('/');
echo $this->Html->scriptBlock(<<<EOJS
var baseUrl = '{$baseUrl}';
EOJS
); ?>