2012-10-01 120 views
2

這是我在這裏的第一個問題,所以我希望我說得對。jQuery滑動到點擊後不隱藏?

我有一個非常簡單的jQuery滑動登錄。我唯一的問題是,我希望它不會「重新啓動」/當網站上任何地方的鏈接被點擊和/或頁面刷新時,不會再重新開始,直到用戶單擊關閉按鈕。 不確定這是否可能。

$(document).ready(function() { 

    // Expand Panel 
    $("#open").click(function(){ 
     $("div#panel").slideDown(2000, "easeOutBounce"); 
    }); 

    // Expand Panel 
    $("#open").click(function(){ 
     $("body").slideDown("slow"); 
    }); 

    // Collapse Panel 
    $("#close").click(function(){ 
     $("div#panel").slideUp(2000, "easeInBack"); 
    });  

    // Switch buttons from "Log In | Register" to "Close Panel" on click 
    $("#toggle a").click(function() { 
     $("#toggle a").toggle(); 
    });  
}); 

回答

1

一旦滑下,並每$(文件)。就緒您可以創建一個cookie()調用,看看是否能cookie是有還是沒有,因此打開面板。

您可以谷歌「如何設置的JavaScript餅乾」或使用$ .cookie由康斯坦丁D.

的建議見我的意見在你的代碼清楚地瞭解:

$(document).ready(function() { 


// see if cookie exists. if it does do the following 
// $('div#panel').show(); 
// if it does not, you don't have to do anything 

// Expand Panel 
$("#open").click(function(){ 
    $("div#panel").slideDown(2000, "easeOutBounce"); 
    // now that it is opened, you should set your cookie here! 

}); 

// Expand Panel 
$("#open").click(function(){ 
    $("body").slideDown("slow"); 
}); 

// Collapse Panel 
$("#close").click(function(){ 
    $("div#panel").slideUp(2000, "easeInBack"); 
    // once it is closed by user, remember to delete the cookie. 
});  

// Switch buttons from "Log In | Register" to "Close Panel" on click 
$("#toggle a").click(function() { 
    $("#toggle a").toggle(); 
}); 
+1

您是否使用?濫用? http://w3fools.com/在這裏幫助 –

+0

好吧,刪除了。好? –

0

在爲了在您的客戶端用戶界面中保留一個狀態,您需要使用一些本地存儲,如Cookie。看看jQuery cookie plugin

您將添加一個檢查來查看cookie是否存在,以及它是否顯示展開的面板。

代碼:

if ($.cookie("isExpanded")) { 
    $("div#panel").css('display', 'block'); 
} 
0

我會做這樣的事情:

$(document).ready(function() { 
    if(loginOpen == true) 
     $("div#panel").show(); 

    // Expand Panel 
    $("#open").click(function(){ 
     $("div#panel").slideDown(2000, "easeOutBounce"); 
     $("body").slideDown("slow"); 
     loginOpen = true; 
    }); 

    // Collapse Panel 
    $("#close").click(function(){ 
     $("div#panel").slideUp(2000, "easeInBack"); 
     loginOpen = false; 
    });  

    // Switch buttons from "Log In | Register" to "Close Panel" on click 
    $("#toggle a").click(function() { 
     $("#toggle a").toggle(); 
    });  
}); 

var loginOpen = false; 
+0

將嘗試所有這些提示! – user1710843

+0

感謝您閃電般的快速解答! – user1710843