私はLocalStorageを使用してトグルバナーを開いたり閉じたりしています。 残念ながら、バナーの#buttonの切り替えボタンで開いているクラスを適切に維持して、それに応じてスタイルを変更することができませんでした。LocalStorageは 'open'クラスを追加できず、そのまま保持します
私のコード:
$('#button').click(function() {
$(this).siblings().slideToggle(function() {
localStorage.setItem('display', $('#banner').is(':hidden'));
});
});
var block = localStorage.getItem('display');
if (block == 'true') {
$('#banner').hide()
}
私のhtml
<div id="banner_container">
<div id="banner">
<img src="#">
</div>
<button id="button" href="javascript:void(0);"></button> <!-- toggle 'open' class if banner is visible/hidden and keep it in LocalStorage -->
</div>
私はslideToggle機能にtoggleClass($(this).toggleClass('open');
)を設定しようとしたが、それがないと、これは正しいアプローチではないようですLocalStorageの動作と相関しています。何かアドバイス?
あなたは '$( '#バナー')かどうかを知っている必要はありません( ':隠された')である代わりに' '$(この)のは '(.is:あなたのボタンを参照しています(私はあなたのトグルとして常に見えると思います)? – somethinghere
正しい。投稿を更新しました – user3615851
JSON.parseで解析されない限り、localStorageはデフォルトで文字列になります。つまり、これはオペレータの問題と同じである可能性があります。 @ user3615851あなたは===を使ってみましたか? – rabruce