[英]PHP JQuery document ready adding an IF statement breaks .show( )
以下代碼位於(document).ready函數中,可正確顯示訂單:
<?php if (isset($_POST['preview-order'])) { //IF PREVIEW FORM ?>
$("#cam-order-preview").show('slow');
<?php } else { //ELSE ORDER FORM ?>
if (lastAreaVisible != "") {
$("#<?php echo $_SESSION['last_area_visible'];?>").css("visibility", "visible");
$("#<?php echo $_SESSION['last_area_visible'];?>").css("position", "relative");
$("#<?php echo $_SESSION['last_area_visible'];?>").css("display", "block");
$("#<?php echo $_SESSION['last_area_visible'];?>").show('slow');
}
$("#cam-order-form").show('slow');
$("#cam-order-nav").show('slow');
$("#order-comment-box").show('slow');
問題是如果設置了'last_area_visible'值,我想有條件地隱藏其他部分,因此我添加了else語句,但else語句導致整個表單中斷,並且沒有任何顯示,就像jquery停止了解析一樣。
<?php if (isset($_POST['preview-order'])) { //IF PREVIEW FORM ?>
$("#cam-order-preview").show('slow');
<?php } else { //ELSE ORDER FORM ?>
if (lastAreaVisible != "") {
$("#<?php echo $_SESSION['last_area_visible'];?>").css("visibility", "visible");
$("#<?php echo $_SESSION['last_area_visible'];?>").css("position", "relative");
$("#<?php echo $_SESSION['last_area_visible'];?>").css("display", "block");
$("#<?php echo $_SESSION['last_area_visible'];?>").show('slow');
} else {
$("#cam-order-form").show('slow');
$("#cam-order-nav").show('slow');
$("#order-comment-box").show('slow');
}
有見識嗎? 頂部的代碼可以工作並顯示所有部分,我只想隱藏底部的三個部分,但是jquery由於某些奇怪的原因不喜歡它。
最終弄清楚了,發生此問題是因為頂部塊中的選擇器實際上是在cam-order-form內嵌套的div。 添加
$("#cam-order-form").show('slow');
$("#cam-order-nav").hide('slow');
如果由於div的嵌套,block根據需要允許該行為到頂部。
因此,顯示或隱藏時要注意的另一件事是產生意外的結果:檢查要顯示的div的嵌套。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.