我遇到了一个与Magento,jQuery和jQuery Block UI有关的非常棘手的问题。您知道客户访问其客户帐户时显示的导航链接吗?那些通过XML创建的?
好吧,我正在尝试专门针对其中两个,以便在数据库耗尽其时间时创建一个jQuery Block UI加载动画。我已经启动并运行了jQuery和jQuery Block UI,现在需要在用户点击其中一个特定链接到所有内容完全加载的那一刻,在屏幕上显示此消息/ animation / block / ajaxloader。或者我可以将代码放在我试图加载的页面上,这样我就不必担心它们来自哪里了。但是,我不确定如何通过jQuery实现这一目标。我目前没有进行ajax调用来加载数据(我知道如果我使用ajax,这可能会更简单)。
有什么想法吗?
更新:
谢谢@JaredKipe,但它似乎没有实现我的目标。这是我在head.phtml中的jQuery和Block UI的位置以及你描述的代码。
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="<?php echo $this->getJsUrl('jqueryBlockUI/jquery.blockUI.js') ?>"></script>
<script type="text/javascript">
//<![CDATA[
var $j = jQuery.noConflict();
//]]>
</script>
<script>
$j(function () {
$j('.block-account li:not(.current)').click(function () {
$j.blockUI();
});
});
</script>
<?php echo $this->getCssJsHtml() ?>
这是控制器加载页面的样子。
public function orderhistoryAction()
{
if ($this->_getCustomerSession()->isLoggedIn()) {
$this->loadLayout();
$this->renderLayout();
} else {
$this->_redirect('customer/account/login');
}
}
显然这个块是从一个布局xml文件加载的,但是我不确定在加载/创建块时如何显示jQuery Block UI(或其他一些加载消息)。
同样,我对Magento框架非常陌生。感谢任何人提供的任何帮助!
答案 0 :(得分:0)
我从来没有听说过jQuery BlockUI,但文档似乎直截了当。
jQuery('.block-account li:not(.current)').click(function () {jQuery.blockUI();});
应该做的伎俩。这为所有“阻止实际页面加载”的“帐户”链接(当前除外)添加了一个click事件,但是会激活任何会阻止用户与之交互的魔法'$ .blockUI()'。页面,直到服务器发布了响应。这里不需要AJAX,但可能需要......