localStorage хранит только строки . Таким образом, localStorage.done = false сериализуется в «false». Следующий код решит вашу проблему (см. JSFiddle ):
localStorage.done = localStorage.done || "false";
document.getElementById('myButton').addEventListener('click', function() {
if (localStorage.done == "false") {
localStorage.done = "true";
document.getElementById('myDiv').style.display = "none";
}
});
Обратите внимание, чтобы избежать путаницы с jQuery, я использовал стандартный DOM "getElementById". Вы также можете использовать «0» и «1» вместо «true» и «false».
Хотя это ограничение отсутствует в спецификации W3 , оно применяется к текущим браузерам. См. этот пост для получения дополнительной информации. Удачного кодирования!