【发布时间】:2012-08-29 22:17:48
【问题描述】:
所以页面以
开头<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 查询,它会在通过 load 加载后通过向下滑动来预加载框:
我有以下 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
默认情况下,该框将向下滑动,指示添加了新项目。
【问题讨论】:
-
"但是,该框不会毫无错误地向下滑动。"这是一个非常令人困惑的说法。你有什么问题?
-
您是否尝试过为超时增加一些时间?
-
为什么不在
document.ready内部调用它? -
你确定
<? if($_GET["x"]=="1"){ ?>计算结果为真吗?您能否发出警报并确认此 if 语句中的代码实际运行? -
fiddle.jshell.net/xWKmK 代码看起来不错。也许它的加载太快了?我只是提供建议。
标签: php jquery settimeout slidedown