一個localStorage
項目的值可以是任何東西,但它被轉換成一個字符串內部。 您的status
正在轉換爲字符串,因此其實際值未被正確存儲。
例如:
localStorage.setItem('hi', document.createElement('div'));
localStorage.getItem('hi'); // "[object HTMLDivElement]"
你的情況:
var status = $('.btn-secondmenu');
localStorage.setItem('.btn-secondmenu', status);
localStorage.getItem('.btn-secondmenu'); // "[object Object]"
爲了解決這個問題,你可以存儲實際色彩值,而不是像這樣:
var btnSecondMenu = $('.btn-secondmenu');
btnSecondMenu.click(function() {
btnSecondMenu.css('background-color', 'red');
localStorage.setItem('.btn-secondmenu', 'red');
});
你然後可以使用該值來設置頁面加載時的CSS背景顏色:
var storedBgColor = localStorage.getItem('.btn-secondmenu'); // "red"
if (storedBgColor) {
$('.btn-secondmenu').css('background-color', storedBgColor);
} else {
// set default color or do something else if you like
}
Here是一個使用上述建議的例子。
您還需要編寫代碼來設置基於本地存儲的背景色,像'如果(localStorage.bgColor)$( 'BTN-secondmenu ')。CSS(' 背景色',localStorage的.bgColor);'。你現在正在做的就是設置它,你永遠不會使用它。 – powerbuoy