Jquery - speichern-Klasse Zustand für mehrere div #'s ein cookie?
Ich versuche zu replizieren, ein UI-Effekt als auf http://mcfc.co.uk ich habe ein Skript geschrieben, verbirgt sich ein div auf Klick-Funktion und es gilt eine Klasse zu einem div mit der #id des entsprechenden div-Element, auf das geklickt wurde, und auf der Rückseite. Ich bin neu in jQuery, wie würde ich das speichern der Status dieser 'geklickt' divs, um ein cookie zu zeigen, die versteckt wurden, etc??
Vielen Dank für jede Hilfe.
<script type="text/javascript">
$(document).ready(function(){
$('.portlet').click( function(){
var idtext = this.id;
$(this).hide();
$("[id*=" + idtext + "]").not(this).addClass('add');
});
$("#content-footer div").click( function(){
var idtext = this.id;
$(this).removeClass('add');
$("[id*=" + idtext + "]").not(this).show();
});
})
</script>
HTML:
DIVs, die versteckt/angezeigt, klicken Sie auf.....
<div class="column" id="col0">
<div class="portlet" id="p_0">
<div class="portlet-header">Feeds</div>
<div class="portlet-content">Lorem ipsum dolor sit amet, consectetuer adipiscing elit
</div>
</div>
<div class="portlet" id="p_1">
<div class="portlet-header">News</div>
<div class="portlet-content">Lorem ipsum dolor sit amet, consectetuer adipiscing elit
</div>
</div>
</div>
etc....
DIV ' s, die Klasse angewendet wird.....
<div id="content-footer">
<div id="p_0"></div>
<div id="p_1"></div>
<div id="p_2"></div>
<div id="p_3"></div>
<div id="p_4"></div>
</div>
- bitte Bearbeiten Sie die Formatierung, wählen Sie den code in deiner Frage zuerst und klicken Sie dann auf die Schaltfläche code ..
- Sie haben keine eindeutigen IDs in den HTML-Code, gewährt mit
$("[id*="+ idtext +"]")
funktionieren würde, aber ich glaube nicht, es ist eine gute Praxis.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe eine demo von dem, was ich denke, Sie wollen hier. Werden Sie sicher, dass die jQuery cookie plugin.
Hier ist die HTML die ich verwendet habe:
Und das Skript:
Update: Hinzugefügt "indexOf" Prototyp am Ende des script oben fix ein IE-bug
Update #2: Hinzugefügt cookieExpires variable, verwenden Sie eine Zahl, um die Anzahl der Tage, als Datum (), um ein end-Datum oder "null", um es als ein session-cookie.
indexOf
javascript-Funktion ist foobared. Ich fügte hinzu, ein Update an das Ende des Codes, Dank diesem Beitrag (stackoverflow.com/questions/1744310/...). Der code und die demo wurde aktualisiert!Da bist du schon mit jQuery, konnte Sie nutzen und verwenden Sie die sehr einfach und leicht zu bedienende plugin, Cookie:
Sehen Sie einige demos hier.
Oder hier:
Update mit Beispiel zum Gebrauch:
Wie Sie sehen können, sind wir festlegen der visible-Status der aktuellen id (idtext) in einem cookie mit dem Wert, der entweder true oder false.
Beim laden dieser portlets können Sie die Cookies (entweder serverseitige oder clientseitige, Ihr choise) und dienen der front-end-wie gewünscht. Sagen Sie mir, wenn Sie mehr Hilfe brauchen 🙂