1Danke
ERLEDIGT
JA
JA
ANTWORTEN
3
3
ZUGRIFFE
644
644
EMPFEHLEN
-
Hallo liebe Tutorials.de Mitglieder!
Ich habe leider ein Problem, bei welchem ich einfach verzweifel. Ich habe mir eine Sidebar für eine Webseite gebaut, welche beim ersten Besuch geschlossen bleiben soll und sich erst beim klicken der Schaltfläche öffnet.
Da in der Sidebar ein Formular ist und bei jedem Absenden immer wieder die Sidebar schließt, wollte ich nun eine Art Cookie einsetzen, welche die Einstellung des Gasts speichert. Somit wird dem Gast immer der Status "Offen" oder "Geschlossen" angezeigt, welchen er selber gewählt hat.
Dies ist der HTML Code:
Und dies ist mein JavaScript:HTML-Code:<div id="shoutbox"><a href="#" id="togglesidebar"></a> <div id="sidebar"></div> </div>
Ich kann hier einfach keinen Fehler finden und trotzdem funktioniert es einfach nichtPHP-Code:$(document).ready(function() {
var sidebar_status = $.cookie("sidebar_status");
if (sidebar_status == null){
$("a#togglesidebar").addClass('closed');
$("#sidebar").hide();
};
if (sidebar_status == "closed"){
$("a#togglesidebar").removeClass('open');
$("a#togglesidebar").addClass('closed');
$("#sidebar").css("display","none");
};
if (sidebar_status == "open"){
$("a#togglesidebar").addClass('open');
};
$("a#togglesidebar").click(function() {
if ($("a#togglesidebar").attr("class")=='open'){
$(this).removeClass('open');
$(this).addClass('closed');
$.cookie("sidebar_status", "closed", { path: '/', expires: 100 });
$("#sidebar").animate({
width: 'hide',
opacity: 'hide'
}, 'slow');
} else {
$(this).removeClass('closed');
$(this).addClass('open');
$.cookie("sidebar_status", "open", { path: '/', expires: 100 });
$("#sidebar").animate({
width: 'show',
opacity: 'show'
}, 'slow');
}
});
Kann mir bitte jemand helfen?
jQuery und zusätzliche Plugins sind alle aktuell und eingebunden.
Viele Grüße
LonesWolf
-
Hi,
kann es sein, dass am ende einfach nur }); fehlt?
Der Cookie wird dann jedenfalls richtig gesetzt!
-
Vielen Dank javaDeveloper2011! Da habe ich doch tatsächlich vor lauter Bäumen den Wald nicht mehr gesehen

Jetzt kann ich durch einen Klick die Sidebar öffnen und sie bleibt auch offen. Wenn ich jedoch erneut auf die Schaltfläche klicke, passiert leider garnix mehr
//EDIT:
Ich wollte nun nicht extra einen neuen Post dafür machen
Ich vermute den Fehler im folgenden Bereich, da ich nun etwas damit rumgespielt habe und sich das Verhalten auch geändert hat, nur leider nicht zu dem gewünschten Verhalten.
PHP-Code:$("a#togglesidebar").click(function() {
if ($('a#togglesidebar').attr('class')=='open'){
$(this).removeClass('open');
$(this).addClass('closed');
$.cookie("sidebar_status", 'closed', { path: '/', expires: 100 });
$('#sidebar').animate({ width: 'hide', opacity: 'hide' }, 'slow');
} else {
$(this).removeClass('closed');
$(this).addClass('open');
$.cookie("sidebar_status", 'open', { path: '/', expires: 100 });
$('#sidebar').animate({ width: 'show', opacity: 'show' }, 'slow');
}
Geändert von LonesWolf (12.12.11 um 14:05 Uhr)
-
Ich habe den Fehler nun gefunden und muss zugeben, dass ich viel früher die jQuery Seite durchstöbern hätte sollen

Aus folgendem:
macht man:PHP-Code:$("a#togglesidebar").click(function() {
if ($('a#togglesidebar').attr('class')=='open'){
$(this).removeClass('open');
$(this).addClass('closed');
$.cookie("sidebar_status", 'closed', { path: '/', expires: 100 });
$('#sidebar').animate({ width: 'hide', opacity: 'hide' }, 'slow');
} else {
$(this).removeClass('closed');
$(this).addClass('open');
$.cookie("sidebar_status", 'open', { path: '/', expires: 100 });
$('#sidebar').animate({ width: 'show', opacity: 'show' }, 'slow');
}
Grüße und Danke nochmal.PHP-Code:$("a#ToggleSidebar").click(function() {
if ($("a#ToggleSidebar").hasClass("open")) {
$(this).removeClass('open').addClass('closed');
$.cookie("sidebar_status", "closed", { path: "/", expires: 100 });
$("#sidebar").animate({ width: 'hide', opacity: 'hide' }, 'slow');
} else {
$(this).removeClass('closed').addClass('open');
$.cookie("sidebar_status", "open", { path: "/", expires: 100 });
$("#sidebar").animate({ width: 'show', opacity: 'show' }, 'slow');
}
Ähnliche Themen
-
jQuery - Array und Objekte kombinieren?
Von unrealzero_php im Forum Javascript & AjaxAntworten: 3Letzter Beitrag: 08.07.10, 09:49 -
[jQuery] Facebook-Social Plugins mit Sidebar-Button sichtbar machen
Von GangXtaBoiii im Forum Javascript & AjaxAntworten: 3Letzter Beitrag: 29.06.10, 14:58 -
jQuery: sortable und selectable kombinieren
Von LiebHabSchafi im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 16.02.09, 16:44 -
Zeit Cookies in Session Cookies ändern
Von messmar im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 06.11.08, 16:07 -
Sidebar
Von DarkDirk im Forum .NET Windows FormsAntworten: 2Letzter Beitrag: 21.10.07, 04:30





Zitieren
Login





