Greets, also ich versuche, jquery/javascript storage zu lernen und lief auf ein Problem, wo ich eine Navigation baue, die Sie erinnern und Sie dort platzieren sollte, wo Sie zuletzt waren, wenn Sie die Seite aktualisieren sessionStorage statt localStorage).SessionStorage Navigation
Aber ich kann nicht scheinen, um die sessionStorage-Variable an den neuen Speicherort zu ändern, noch herauszufinden, eine funktionale Möglichkeit, den Benutzer zurück auf die Seite aktualisieren.
Dies ist, was ich derzeit habe.
$(function() {
sessionStorage.setItem('position', '.first');
var location = sessionStorage.getItem('position');
$('li', this).click(function() {
cls = $(this).text();
if('.' + cls != location) {
$(location).slideToggle(400);
$('.' + cls).delay(400).slideToggle(400);
sessionStorage.setItem('position', '.' + cls)
console.log(location)
};
});
});
https://jsfiddle.net/Unkn0wn96/ndj9sqpe/
Der Code in eine sehr seltsamen Art und Weise funktioniert, eher dann, wie es beabsichtigt, auch nie den Wert zu ändern, wenn ich (location) console.log.
Ich machte einige weitere Tests zu diesem Thema und fand einen 'mehr' funktionierenden Weg in dem, dass der sessionStorage zu etwas geändert hat, aber es ist nicht nützlich.
https://jsfiddle.net/Unkn0wn96/nkbtykkr/
aber noch, sie Elemente wechseln nicht, wie sie sollten, einschließlich, dass, wenn ich sessionStorage.position Konsolprotokoll es NaN zurück. Aus irgendeinem seltsamen Grund kann ich sessionStorage.position nicht innerhalb einer Variablen speichern, sondern einfach den Wert nicht ändern. Ich habe keine Ahnung, warum das passiert.
Warum sollte 'location' seinen Wert ändern? '.getItem()' gibt eine Zeichenfolge oder 'null' zurück, daher ist' location' keine "magische" Verknüpfung zum Inhalt von 'sessionStorage [" position "]'. Und im Moment speichern Sie ".first" beim Laden der Seite in 'sessionStorage [" position "]', was den aktuell gespeicherten Wert überschreibt. – Andreas
Wenn Sie also sagen, dass ich einen sessionStorage nicht überschreiben kann, Was wäre dann der richtige Ansatz für eine Lösung? – Unkn0wn