2016-10-07 13 views
6

मैं एक पॉप से ​​अधिक मॉडल है कि मैं लोड पर अपने पन्ने पर लोड हो रहा है कर रहा हूँ, मैं इसे एक बार बनाने के लिए चाहते हैं यह उस उपयोगकर्ता के लिए फिर से दिखाने के लिए बंद है। मैंने localStorage(); के साथ समान चीजें की हैं लेकिन किसी कारण से यह काम करने के लिए वाक्यविन्यास नहीं पता है।मोडल पर एक "बंद" राज्य को बचाने के लिए तो यह है कि उपयोगकर्ता के लिए प्रदर्शित नहीं करता है localStorage() का उपयोग फिर से

मैंने एक समाधान की कोशिश की जहां यह एक वर्ग सेट करता है, लेकिन रीफ्रेश पर यह मूल तत्व को फिर से लोड करेगा, इसलिए अब मैं इस विचार को आजमा रहा हूं जहां मैंने मोडल की स्थिति को "विज़िट" में बदल दिया है। मैं उम्मीद कर रहा हूं कि इस तरह से काम करने के लिए मुझे क्या याद आ रहा है?

localStorage समारोह:

$(function() { 

    if (localStorage) { 
     if (!localStorage.getItem('visited')) { 
      $('.projects-takeover').show(); 
     } 
    } else { 
     $('.projects-takeover').show(); 
    } 

    $('.projects-close').click(function() { 
      $('.projects-takeover').fadeOut(); 
    }); 
     localStorage.setItem('visited', true); 
     return false; 
    }); 

यहाँ एक jsfiddle मदद के लिए कोड के रूप में अच्छी तरह से लागू किया, धन्यवाद के साथ है!

उत्तर

3

आप जावास्क्रिप्ट कोड सही है। अच्छी बात यह है कि आपने एक jsfiddle जोड़ा क्योंकि समस्या पहचानना बहुत आसान हो जाता है - मोडल की शैली इस तरह से सेट की जाती है कि यह हमेशा दिखाई दे। कक्षा में बस display संपत्ति nonе पर बदलें और इसे कार्य करना चाहिए। की जाँच करें अद्यतन fiddle

+0

कि '' बल्कि non', ज़ाहिर है की तुलना में none' हो जाएगा। – Simba

+0

धन्यवाद, इसे ठीक किया गया –

+0

देर से उत्तर के लिए खेद है, लेकिन यह इसे ठीक कर दिया! आपको बहुत - बहुत धन्यवाद! –

0

प्रयास करें इस ->

$(function() { 
    var pt = $('.projects-takeover'); //i just hate repeating myself. 
    if (localStorage) { 
    if (!localStorage.getItem('visited')) { 
     pt.show(); 
    } else { 
     pt.hide(); //this bit was missing 
    } 
    } else { 
    pt.show(); 
    } 

    $('.projects-close').click(function() { 
     pt.fadeOut(); 
    }); 
    localStorage.setItem('visited', true); 
    return false; 
}); 
+1

यह ऐसा करता है कि मोडल अभी भी संक्षिप्त रूप से प्रकट होता है जब तक कि जावास्क्रिप्ट को छुपाया जाता है, इसे चलाने का मौका होता है। मुझे लगता है कि 'विज़िट' आइटम सेट होने पर भी इसे दिखाने के लिए बेहतर होगा। – Zack

+0

@ जैक, दरअसल, यह कुछ ऐसा था जो मैं उल्लेख करने जा रहा था, लेकिन ध्यान दिया कि वासिल ने पहले ही इसे इंगित किया था। मैंने अपनी प्रतिक्रिया छोड़ दी है, अगर दृश्यता संदेश प्राप्त हो जाता है तो यह एक सुरक्षा नेट की तरह है .. IOW: अतिरिक्त छिपाने में कोई नुकसान नहीं .. – Keith

संबंधित मुद्दे

 संबंधित मुद्दे