0

我有一个关于 Magento、jQuery 和 jQuery Block UI 的非常令人困惑的问题。您知道客户访问客户帐户时为他们显示的导航链接吗?通过 XML 创建的那些?

好吧,我正在尝试专门针对其中两个,以便在数据库度过美好时光的同时创建一个 jQuery Block UI 加载动画。我已经启动并运行了 jQuery 和 jQuery Block UI,现在需要以某种方式在屏幕上显示此消息/动画/块/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 框架非常陌生。感谢任何人都可以提供的任何帮助!

4

1 回答 1

0

我从来没有听说过 jQuery BlockUI,但文档似乎让它直截了当。

jQuery('.block-account li:not(.current)').click(function () {jQuery.blockUI();});

应该做的伎俩。这会为所有不会阻止实际页面加载的“帐户”链接(当前链接除外)添加一个点击事件,但会激活任何会阻止用户与页面,直到服务器发布响应。这里不需要 AJAX,尽管它可能是需要的......

于 2013-02-15T05:39:09.087 回答