0

所以页面以

<div id="show-quick-cart-zone"></div>

在页面顶部,我使用加载命令脚本:

$('#show-quick-cart-zone').load('/loadbalance/quickcart');

然后在页面上插入一个购物车 div 框,如下所示:

<div id="quickcart" class="quickcart" style="display:none">
    <div class="quickcarttitle"><span>SHOPPING BAG</span></div>
    <strong>Total</strong> £<?=$CartTotal?><br />
    <a href="/cart?ref=quick-cart"><img src="secure-checkout.png"></a>
    <a onclick="jQuery('#quickcart').slideUp(500);" href="#close-quick-cart"><img src="continue-shopping.png" style="margin-top:8px"></a>
</div>

我使用普通的超链接来滑动切换它以显示和关闭。

我想要这样,如果用户在他们的 URL 中有 ?x=1 查询,它会通过加载加载后通过向下滑动来预加载框:

我有以下 jQuery 函数。页面加载后,它基本上应该向下滑动购物车 div。

<script type="text/javascript">
<? if($_GET["x"]=="1"){ ?>
function showCart() {
    $('#quickcart').slideDown(500);
    Cufon.replace('.quickcart');
}
// Toggle the Quick Cart (uses Load Balance for higher TPS no que!)
// showCart();
$(document).ready(function () {
    // Code to do stuff immediately
    setTimeout(showCart, 0);
});
<? } ?>
</script>

但是,该框不会毫无错误地向下滑动。我想要它,以便如果用户在正常页面上,如下所示:

/cart/product.php

什么都没发生。

但是,如果他们在/cart/product.php?x=1

默认情况下,该框将向下滑动,指示添加了新项目。

4

1 回答 1

1

The .load function takes some time to complete, probably longer time than the document takes to have the correct state. So try something like:

$('#show-quick-cart-zone').load('/loadbalance/quickcart', function() {
    // this will execute when the ajax load is complete
    showCart();
});
于 2012-08-29T14:08:35.033 回答