我想在頁面加載過程中關閉手風琴動畫,然後在加載頁面後將其重新打開。僅在頁面加載期間關閉Jquery UI手風琴動畫
基本上我在手風琴部分裏面有多個表單,當提交時頁面被重新加載並且相關部分被重新加載。但在重新加載期間,動畫被觸發,看起來有點難看。但是當頁面沒有被加載時,我喜歡它。
我該如何達到這個效果?
我想在頁面加載過程中關閉手風琴動畫,然後在加載頁面後將其重新打開。僅在頁面加載期間關閉Jquery UI手風琴動畫
基本上我在手風琴部分裏面有多個表單,當提交時頁面被重新加載並且相關部分被重新加載。但在重新加載期間,動畫被觸發,看起來有點難看。但是當頁面沒有被加載時,我喜歡它。
我該如何達到這個效果?
回答我自己的問題。以下工作。
我發現的是,在創建手風琴對象時,首先不定義動畫。 然後,選擇要在加載時顯示的部分。在我的情況下,我的Kohana控制器 從前一個表單提交設置的會話變量中檢索。然後它被傳遞到包含此代碼的模板中。
完成後,將動畫設置設置爲幻燈片,然後全部從此處開始。
$(function(){
/* Create the accordion object first */
$("#accordion").accordion({ animated: false, header: "h3", autoHeight: false, clearstyle: true, collapsible: true })
/* get the section to load. This is set by the previous form submission and saved to a session variable. */
var id = <?php echo $sectionId; ?>;
/* activate on sectionId=0 causes it to close (which is by design) this gets around it */
if (id != 0) {
$("#accordion").accordion("activate", id);
}
$("#accordion").accordion("option", {animated: "slide" });
});
如果頁面在提交後重新加載,那麼整個JS腳本也將被重新加載,因此,包含任何類型數據的任何變量都將被重置爲默認值。我能想到的唯一方法就是在接收提交後,在JavaScript腳本中設置一個由服務器端languaje設置的變量。
在JS時加載頁面做
var = false; //false = no open tabs
$(".selector").accordion({ ..., active: var });
在提交使PHP,假設你使用它,這樣做:
$my_tab_number = n;
var = <php echo $my_tab_number; ?>;
所以當頁面重新加載獲取將被打開在你想要的標籤中。