2016-04-27 2 views
3

Derzeit für eine Website habe ich index.html, about.html, usw. Der Begrüßungsbildschirm lädt auf index.html, aber ich will nicht, dass es nach dem ersten Laden mehr angezeigt wird der Startbildschirm. (Sogar von etwa Seite gehen -> Index)Splash-Screen nach dem ersten Laden ausschalten

Dies ist jquery Ich habe:

$(document).ready(function() { 
    if ($(".splash").is(":visible")) { 
     $(".wrapper").css({"opacity":"0"}); 
    } 

    $(".splash-arrow").click(function() { 
     $(".splash").slideUp("800", function() { 
      $(".wrapper").delay(100).animate({"opacity":"1.0"}, 800); 
     }); 
    }); 
}); 

Es ist index.html verbunden. Irgendwelche Vorschläge, wie Sie dieses Problem beheben können?

+0

werden Sie eine einzelne Seite App schreiben, ohne Aktualisierung der Seite? – Ozrix

+0

@Ozrix nein, es ist keine einzige Seite app – user3784193

Antwort

1

Wenn Sie den Begrüßungsbildschirm nur anzeigen möchten, wenn der Benutzer zum ersten Mal index.html aufruft, müssen Sie diese Informationen irgendwo speichern. In der Regel erfolgt dies entweder über LocalStorage oder Cookies. Für letzteres gibt es eine exzellente Bibliothek auf GitHub verfügbar:

js-cookies.

Beachten Sie jedoch, dass Cookies mit jeder Anfrage an den Server gesendet werden.

Beispielcode:

$(document).ready(function() { 
    if (typeof Cookies.get("seen_splash") !== "undefined") { 
     // Insert code to show the splash screen here 
    } 

    // Set the cookie for 365 days. 
    $(".splash-arrow").on("click", function() { 
     Cookies.set("seen_splash", true, { expires: 365 }); 
    }); 
}); 
+0

Hallo, ich habe versucht, js Cookies zu implementieren, wie Sie vorgeschlagen und außer wenn ich die Cookies mit console.log nach dem Set "seensplash" auf wahr auszudrucken, ist es immer noch undefiniert. Irgendeine Idee, warum das der Fall sein könnte? https://jsfiddle.net/r0Ly0s76/ – user3784193

+0

Das passiert, weil die Bedingung 'if (typeofCookies.get (" seensplash ")! ==" undefiniert ") {...}' überprüft, ob ein Cookie vorher gesetzt wurde. Das ist, dass Sie den Cookie in Zeile 1 auf einen beliebigen Zeichenfolgenwert setzen, was bedeutet, dass der Cookie jetzt existiert und die Existenzprüfung immer fehlschlägt. Sie müssen den Cookie nur festlegen, wenn der Benutzer den Splash gesehen hat, und nicht an einem anderen Ort. Darüber hinaus ist es nicht notwendig, das Cookie zu löschen, bevor es erneut gesetzt wird, überschreiben Sie es einfach – marvinhagemeister

+0

@ user3784193, wenn Sie glauben, dass dieser Beitrag Ihre Frage beantwortet, wäre es toll von Ihnen, es als akzeptiert zu markieren. – marvinhagemeister