So haben wir eine Kasse und an dieser Kasse, können Sie 2 Addons jetzt das Problem, das ich habe zu identifizieren ist, ob diese Optionen markiert sind oder nicht und zeigt die richtige Styling so lassen sag ich habe beide Optionen auf der Bezahlseite überprüft und dann abgebrochen es spart, dass sie überprüft werden aber zeigt nicht das Styling.Lokaler Speicher, wenn ein Kontrollkästchen angeklickt wurde
Meine ursprüngliche Lösung dafür war eine Var im lokalen Speicher zu speichern, wenn ein Addon geklickt wird und dann beim Laden der Seite, wenn der LocalSpeicher es enthält, dann den Stil auf das Addon anwenden, aber ich kann es scheinbar nicht bekommen gelten für beide nur für 1 siehe meine jQuery unten.
$(function() {
addonClass = function(e) {
$(e).toggleClass("addon-active");
$(e).find("label .add").toggle(400);
$(e).find("label .added").toggle(800);
if ($(window).width() < 600) {
$(e).find("label .fiver").toggle(400);
}
}
if (localStorage.getItem('addonooh') === "true") {
addonClass('.first');
$('.first').find('.add, .fiver').hide();
$('.last').find('.fiver').show();
} else if (localStorage.getItem('addon') === "true") {
addonClass('.last');
$('.last').find('.add, .fiver').hide();
$('.first').find('.fiver').show();
} else if (localStorage.getItem('addonooh') === "true" && localStorage.getItem('addonvm') === "true") {
addonClass('.first, .last');
$('.first, .last').find('.fiver').show();
} else {
}
if ($(window).width() > 600) {
$(".additional-features__item").hover(function() {
$(this).toggleClass("addon-active-hover");
$(this).find("label .fiver").stop(true, true).toggle(400);
$(this).find("label .add").stop(true, true).toggle(800);
if ($(this).hasClass('addon-active')) {
$(this).find("label .fiver, label .add").hide();
}
});
}
if ($(window).width() < 600) {
$(this).find("label .add").remove();
}
$(".additional-features__item").click(function() {
if ($(this).hasClass('first')) {
localStorage.addonooh = 'true';
} else {
localStorage.addonvm = 'true';
}
if ($(this).hasClass('.first') && ($(this).hasClass('.addon-active'))) {
localStorage.addonooh = '';
} else if ($(this).hasClass('.last') && ($(this).hasClass('.addon-active'))) {
localStorage.addonvm = '';
}
addonClass(this);
var checkbox = $(this).find(".mobile-answering__standard-feature");
checkbox.prop('checked', !checkbox.prop('checked'));
});
});
Dank verändern diese die meisten davon bekommen hat das einzige Problem, das ich habe, arbeiten Jetzt ist es, wenn ich ein Häkchen bei dem lokalen Speicher lösche, habe ich das Gefühl, dass es mit diesem Code zu tun hat. if ($ (this) .hasClass ('. First') && ($ (this) .hasClass ('. Addon-active'))) { localStorage.addonooh = ''; } sonst if ($ (this) .hasClass ('. Last') && ($ (this) .hasClass ('. Addon-active'))) { localStorage.addonvm = ''; } – nSmed
Sie haben nirgendwo in Ihrem Code angegeben, dass Sie den lokalen Speicher beim Deaktivieren deaktivieren möchten. Diese Logik würde unter '$ (". Additional-features__item ") gehen. Click (function() {' click handler. Sie sollten den Wert nicht einfach auf 'true' setzen, sondern auf' true' oder 'false' setzen abhängig vom $ (this) .prop ('checked') Wert des Kontrollkästchens –
Hattest du Glück mit meinem letzten Schnitt? –