2012-01-13 97 views
0

我發現了一個小的jQuery cookie腳本,以便在用戶第一次訪問該網站時出現我網站頂部的div;但用戶可以選擇關閉該div,然後在短時間內記住他們的選擇。jQuery使用cookie顯示/隱藏

現在它的工作正常,但我想嘗試應用一個.hide。向腳本顯示「快速」,但改變.css屬性起作用。但是,如果我刷新了一些錯誤:它仍然起着記住我的選擇的作用,但擴展/ collaspe未能位於正確的位置。

任何人都可以幫忙嗎? JS代碼:

$(document).ready(function() { 
// LEFT COLUMN: 
    // When the collapse button is clicked: 
    $('.collapse').click(function() { 
    $('.collapse').css("display","none"); 
    $('.expand').css("display","block"); 
    $('#actionbar').css("height","0px"); 
    $.cookie('actionbar', 'collapsed'); 
    }); 
    // When the expand button is clicked: 
    $('.expand').click(function() { 
    $('.expand').css("display","none"); 
    $('.collapse').css("display","block"); 
    $('#actionbar').css("height","70px"); 
    $.cookie('actionbar', 'expanded'); 
    }); 
// COOKIES 
    // Left column state 
    var actionbar = $.cookie('actionbar'); 
    // Set the user's selection for the left column 
    if (actionbar == 'collapsed') { 
    $('.collapse').css("display","none"); 
    $('.expand').css("display","block"); 
    $('#actionbar').css("height","0px"); 
    }; 
}); 

我的CSS:

.expand { 
    width:11px; 
    height:11px; 
    background:red; 
    position:absolute; 
    left:100px; 
    top:90px; 
    display:none; 
} 
.collapse { 
    width:11px; 
    height:11px; 
    background:red; 
    position:absolute; 
    right:5px; 
    top:4px; 
} 
+0

而不是手動設置CSS'display'屬性,你應該使用'.hide()'和'.show()'! – ThiefMaster 2012-01-13 23:19:31

+0

錯誤圖像可能會幫助您獲得更多答案。如果您還沒有權限發佈鏈接。 – Kieran 2012-01-13 23:23:33

+0

你有沒有考慮過做服務器端腳本? – Wex 2012-01-14 04:33:46

回答

0

也許代替cookie'ing類,試圖盛泰事件。例如,保存爲展開或摺疊狀態,但將最終頁面腳本放在檢查該Cookie和摺疊/展開屬性的位置,然後對coorect元素執行一次單擊操作?

+0

你能給我一個例子嗎? – Doidgey 2012-01-13 23:46:34