Layer für Ankündigungen? Aber wie

  • ich möchte gern für meine Firmenseite (http://www.hochflaechendesign.de) News oder Sonderangebote als Layer einbinden. wie z.B. diese Grafik Winterangebot , das ganze sollte per Klick auf Kreuz oder "schließen" verschwinden und auch nur einmal pro Besucher und Tag auftauchen. Ist sowas machbar und wenn ja wie. Habe schon 2 Tage gegoogelt aber so richtig will das nicht gehen entweder der Layer ist im Hintergrund oder er taucht bei jeder seite auf. Ein normaler Popup kommt auch nicht in Frage da dieser ehh geblockt wird.

    Einmal editiert, zuletzt von ohnegleichen76 (16. Juli 2009 um 12:44)

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • möchte ich das? kann schon sein aber erst bräuchte ich ein Script oder Code welcher auch funktioniert, also einen Layer anzeigt. Den Cookie brauche ich doch nur damit geregelt wird das er pro besucher nur einmal erscheint? oder?
    Als Popup hat ich die ganze Sache schon drin aber Popups werden zu 90% geblockt

  • möchte ich das? kann schon sein aber erst bräuchte ich ein Script oder Code welcher auch funktioniert, also einen Layer anzeigt. Den Cookie brauche ich doch nur damit geregelt wird das er pro besucher nur einmal erscheint? oder?
    Als Popup hat ich die ganze Sache schon drin aber Popups werden zu 90% geblockt

    Um zu wissen ob ein User den Layer bereits gesehen hat, ist es am einfachsten ein Cookie zu setzen. Oder einen Eintrag in die DB, oder in eine Textdatei.

    Wie auch immer, Cookie ist da am sinnigsten

  • erst bräuchte ich ein Script oder Code welcher auch funktioniert, also einen Layer anzeigt.

    Zitat

    [...] entweder der Layer ist im Hintergrund oder er taucht bei jeder seite auf [...]


    Ich bin davon ausgegangen dass das zumindest vom Ansatz her schon klappt. Wenn du etwas Code postest dann knn ich dir vielleicht auch zeigen wo dein Fehler ist.

    Zitat

    Den Cookie brauche ich doch nur damit geregelt wird das er pro besucher nur einmal erscheint? oder?


    Ja. Die Anzeige des Layers kannst du ann entweder per PHP oder per JS steuern. Beide können auf dein Cookie zugreifen.

    Zitat

    Als Popup hat ich die ganze Sache schon drin aber Popups werden zu 90% geblockt


    Popups werden zu annähernd 100% geblockt wenn sie ohne User-Interaktion geöffnet werden.

  • Bei Googeln bich auf diese Seite gestoßen

    http://www.jswelt.de/index.php?open…rtid=1007495790

    hatte es dann auch eingebaut aber der Layer wurde irgendwie nur hinter meinem eigentlichem Design angezeigt. Hier der Code.

    Einmal editiert, zuletzt von ohnegleichen76 (17. Juli 2009 um 09:47)

  • Ohje, bitte vergiss das ganz schnell wieder. ;-)

    Vorschlag: Bau erstmal das HTML für den Layer zusammen und formatiere das per CSS so, dass es vernünftig aussieht. Einen Close-Link kannst du auch schon vorsehen. Der Container für den Layer bekommt ein id-Attribut.
    Beim Über-den-Content-legen hilft dir position:absolute und z-index:[ganzGroßerWert]
    http://www.css4you.de/position.html
    http://www.css4you.de/z-index.html

    Wenn du das hast, dann kommt noch ein wenig JavaScript dazu, um den Layer wieder auszublenden. Das sieht im einfachsten Fall so aus:

    HTML
    <a href="javascript:document.getElementById('layer').style.display='none';">Close</a>


    Dazu kommt dann noch das Cookie. Wie du Cookies per JS setzt findest du hier:
    http://de.selfhtml.org/javascript/bei…itenbesuche.htm
    (Per JS, damit es beim 1. Aufruf per PHP noch nicht zur Verfügung steht.)

    Wenn du das hast, dann brauchst du nur noch per PHP prüfen ob das Cookie gesetzt ist und entsprechend den Layer ausgeben oder nicht.

  • Was sehr schön klappt ist dieses hier, schließt sich aber nach nur ca 2 Sekunden wieder. Habe den Code in der Header ganz oben eingebaut? Richtig?

    Einmal editiert, zuletzt von ohnegleichen76 (20. Juli 2009 um 17:29)

  • Was sehr schön klappt ist dieses hier


    Aha. Halte ich aufgrund der vielen Syntaxfehler, die ich mit bloßen Auge sehe, zwar für ein Gerücht, aber gut. Vielleicht frissts dein Browser ja. :-)
    (Aber ich möchte mich gerne wiederholen: vergiss das ganz schnell wieder! Die Zeiten von IE4 und Netscape 4 sind lange vorbei. In aktuellen Browsern sind JS 1.7 oder 1.8 implementiert, wenn ich das richtig in Erinnerung habe.)

    Zitat

    schließt sich aber nach nur ca 2 Sekunden wieder


    Cool. Und das ganz ohne timeout()-Funktion. Lustig. :-)

    Zitat

    Habe den Code in der Header ganz oben eingebaut? Richtig?


    Ganz oben im Sinne von "ganz ganz oben"? Im <head>-Bereich wäre richtig.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!