मुझे localStorage के साथ एक समस्या है जो सभी बचत को याद रखेगी, भले ही एक खंड बंद हो लेकिन दूसरा माना जाता है। उदाहरण: एक पृष्ठ पर दो बैनर हैं। यदि एक व्यक्ति किसी बैनर को बंद करने के लिए क्लिक करता है, तो वह उस बैनर को बंद कर देगा लेकिन यह भी याद रखेगा कि दूसरा बैनर भी बंद कर दिया गया है।

कोड:

<section class="alert-notice-contain status-alerts">

<div id ="1561524897" class="type-notice relative">
    <div class="close-notice-alert"></div>
    <div class="status-contain">
        <div class="status-msg">
            <p>This is a test. This is a long test.</p>
        </div>
    </div>
</div>

<div id ="1561524873" class="type-notice relative">
    <div class="close-notice-alert"></div>
    <div class="status-contain">
        <div class="status-msg">
            <p>This is notice 1</p>
        </div>
    </div>
</div>

<script> // JS code (inline to get the dynamic #ID
( function( $ ) {
        'use strict';
        $( document ).on( 'ready', function() {
            // Status
if(localStorage.getItem('isHide'))
$('#1561524897').hide();
$('#1561524897 .close-notice-alert').click(function(){
$('#1561524897').hide();localStorage.setItem('isHide',true);
});
} );
} ( jQuery ) );
</script>

<script>
    ( function( $ ) {
        'use strict';
        $( document ).on( 'ready', function() {
            // Status
if(localStorage.getItem('isHide'))
$('#1561524873').hide();
$('#1561524873 .close-notice-alert').click(function(){
$('#1561524873').hide(); localStorage.setItem('isHide',true);});
} );
} ( jQuery ) );
</script>

</section>
0
Gregory Schultz 26 जून 2019, 08:13

2 जवाब

सबसे बढ़िया उत्तर

आपको समान चर 'isHide' को सही पर सेट करने के बजाय आईडी के साथ स्टोर करना चाहिए या नहीं। उदाहरण के लिए, स्टोर करने के लिए सेट करें: localStorage.setItem('isHide-1561524897', true); और इसे पढ़ें: localStorage.getItem('isHide-1561524897');

2
Pinetree 26 जून 2019, 15:37

लोकलस्टोरेज में स्टोर करने के लिए ऑब्जेक्ट का इस्तेमाल करें। JSON.stringify () अपने ऑब्जेक्ट को स्ट्रिंग फॉर्म में बदलने के लिए और JSON.parse () को लोकलस्टोरेज से प्राप्त करने के बाद स्ट्रिंग को ऑब्जेक्ट फॉर्म में बदलने के लिए। पूर्व के लिए।

obj = { visibility : 'hidden' }

// set the localstorage
localstorage.setItem('isHide', JSON.stringify(obj));

// get the localstorage
let storageValue = JSON.parse(localstorage.getItem('isHide'));
// use storageValue accordingly 
0
Dheeraj Kumar 26 जून 2019, 09:13