Popups & Dialoge

Popup mit title=

Um einem Text oder einem Element auf deiner Seite weitere kurze Informationen zuzufügen oder Tipps zu erteilen, wenn man mit der Maus darüber fährt, eignen sich Popups
Auf dieser Seite habe ich die Elemente mit "Zusatz" hell unterlegt.
HTML hat da ein einfaches Hilfsmittel: das Tag-Attribut "title"="TEXT"

Beipiel mit dem title Attribut:

<h2 title="Ganz einfach mit 'title=text'" >Bleib mit der Maus über diesen Text stehen</h2>

Bleib mit der Maus über diesen Text stehen




Natürlich kann man das title Attribut auch mittels JS ändern:

document.getElementById(id).title = "Farbe ist " + palette[n];

Fahre mit der Maus über diesen Text und bleib darüber stehen


Popup mit STYLEAber so ist das Popup massiv sichtbarer!

Dieser Popup wird zu 100% mit CSS (Style) gesteuert. Dazu benutze ich einen eigenen PseudoTag <seoPP>, damit nicht ein bestehendes Tag zu nutzen, bei dem ich nicht weiss was es sonst noch bewirkt.

<style>
 	seoPP {display:none;}  /* Der Pseudotag seoPP wird unberührt NICHT angezeigt */
    
    .info{position:relative;}
    .info:hover{z-index:25; }
    .info:hover seoPP{ 	
		    display:block;
			position:absolute;
			top:1em;
			left:1em;
			font-size:24px;
			border:2px solid #000000;			
			background-color:rgba(255, 255, 0, 0.7);
			color:red;
			width:11em;}
  </style>

Berühre mit der Maus diesen Text  Popup nur mit Styles!




Nicht nur Texte sondern auch Grafiken, nach dem Motto "Ein Bild ersetzt 1'000 Worte", können als Popup angezeigt werden.

<style>
 	seoPP {display:none;}  /* Der Pseudotag seoPP wird unberührt NICHT angezeigt */			
    .infoG{position:relative;}
    .infoG:hover{z-index:25; }  
	
    .infoG:hover seoPP
			{ 	
				display:block;
				position:relative;
				bottom: 100%;  /* bottom: nach oben, mit top: nach unten */
				left: 2em;
			}
  </style>

Berühre mit der Maus diesen Text




Natürlich heisst das auch, dass man so Grafiken "vergrössern" kann.
Ich möchte mir hier einiges an Programmieraufwand für Position und Grösse der Grafiken ersparen, so lasse ich das nur als Beispiel stehen

Dialoge

Normales window.alert

<button onclick="alert('Hallo du!')">Drücken</button>

CONFIRM window.confirm

<button onclick="winCon('Bist du sicher?')">Drücken</button>
<seo id="confirm"></seo>

<script> function winCon(text) { let answer = window.confirm(text); if (answer) { document.getElementById("confirm").innerHTML = "Du bist dir sicher!"; } else { document.getElementById("confirm").innerHTML = "Oh, du bist dir nicht so sicher?"; } } </script>

PROMPT window.prompt

<button onclick="winPro()">Drücken</button>
<seo id="prompt"></seo>

<script> function winPro() { name = window.prompt("Wie heisst du?"); document.getElementById("prompt").innerHTML = "Ich grüsse dich, " + name; } </script>

<DIALOG>

Normal: Modal:

Das ist eine Dialogbox

<button onclick="winDial()">Dialog an/aus</button>
<dialog id="dial" >Das ist eine Dialogbox<br><br><button onclick="winDial()">Dialog aus</button></dialog>

<script> function winDial() { dialogFlagg *= -1; console.log(rbWertFlagg); if(dialogFlagg > 0) { // Zeigen if(rbWertFlagg < 0) { document.getElementById("dial").show(); } else { document.getElementById("dial").showModal(); // Restfenster ist grau und blockiert alles } } else { // Verbergen // document.getElementById("dial").innerHTML = "Ich will schliessen" document.getElementById("dial").close(); } } </script>



Datum

Hat nichts mit dem Seitenthema zu tun...
"Fehler" beim Monat; der Monat ist ein Index, der bei null (für Januar oder 01) startet und bei 11 (für Dezember oder 12) endet
"Fehler" beim Tag; es wird beim Formatieren 2 Stunden abgezogen, ohne Zeitangeben wird 00:00 angenommen, also 22:00 vom Vortag

🔐