Voglio implementare sul mio sito il blocco div show-hidden come su stackoverflow.com - in un momento in cui l'utente vuole nasconderlo direttamente sul pulsante "X". Potrebbe già avere una soluzione pronta? Non sono un verso in Javascript e sarei molto grato per l'aiuto!Nascondere il blocco (e ricordarlo) con JavaScript e cookie?
6
A
risposta
3
Questo è semplice esempio di lavoro senza l'utilizzo di alcuna libreria esterna. Puoi migliorarlo con la tua animazione/design. Inoltre, queste funzioni per i cookie possono essere molto più semplici, ma in futuro è possibile utilizzarle per impostare non solo il valore booleano. UPDATE: Ho aggiunto functon per mostrare di nuovo il popup (per il debug principalmente).
<html>
<head>
<script type="text/javascript">
function setCookie (name, value, expires, path, domain, secure) {
document.cookie = name + "=" + escape(value) +
((expires) ? "; expires=" + expires : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "");
}
function getCookie (name) {
var cookie = " " + document.cookie;
var search = " " + name + "=";
var setStr = null;
var offset = 0;
var end = 0;
if (cookie.length > 0) {
offset = cookie.indexOf(search);
if (offset != -1) {
offset += search.length;
end = cookie.indexOf(";", offset);
if (end == -1) {
end = cookie.length;
}
setStr = unescape(cookie.substring(offset, end));
}
}
if (setStr == 'false') {
setStr = false;
}
if (setStr == 'true') {
setStr = true;
}
if (setStr == 'null') {
setStr = null;
}
return(setStr);
}
function hidePopup() {
setCookie('popup_state', false);
document.getElementById('popup').style.display = 'none';
}
function showPopup() {
setCookie('popup_state', null);
document.getElementById('popup').style.display = 'block';
}
function checkPopup() {
if (getCookie('popup_state') == null) { // if popup was not closed
document.getElementById('popup').style.display = 'block';
}
}
</script>
</head>
<body onload="checkPopup();">
<div id="popup" style="display:none">Hello! Welcome to my site. If you want to hide this message then click <a href="#" onclick="hidePopup(); return false;">[x]</a></div>
<div>Some static text here.</div>
<div>Bring me <a href="#" onclick="showPopup(); return false;">back</a> my popup!</div>
</body>
</html>
0
Alternativa:
-> Using localStorage instead of cookie<br/>
-> LocalStorage never expire until they delete personal data on browser<br/>
-> jQuery Library for easy customization on future<br>
-> re-display hidden remembered content<br>
-> jsfiddle.net/axcelleria/41t76s8q/<br>
Ah mi ricordo è necessario un rilevamento mobili troppo ..? Ecco la modifica è:
Per il rilevamento cellulare:
jsfiddle.net/axcelleria/nmosxbgm/
inchiostro, grazie mille per la risposta alla mia domanda! Sono incredibilmente grato per il tuo aiuto. Scusa se non ho potuto rispondere subito. – user1103744
Prego :) – ink