DIV mit klick auf X verschwinden lassen

hallo,

ich habe hier auf der Seite ttc1974.ath.cx/index.php?section=startseite
ein DIV für die Werbung
ich möchte das die Werbung per klick auf ein Bild das ein X hat verschwindet und das die Werbung dann wegbleibt unzwar für alle Seiten
aber die Werbung soll nur für den aktuellen Tag verschwinden und nicht mehr auftauchen und erst nach 24h wieder kommen

habt ihr verstanden was ich will?
wäre cool wenn mit jemand sagen kann wie das geht
mfg
paul

Für alle Nutzer oder für den jeweiligen Nutzer?
Mit (X)HTML allein wird das jedenfalls nicht gehen, eher zusätzlich
mit PHP.

Bei allen Nutzern ist das recht einfach, da speicherst du den
letzten Klickzeitpunkt z.B. in einer Datei.
Bei einer Anzeige der Seite wertest du die Datei per PHP aus.
Wenn noch kein Tag vergangen ist seit dem letzten Klick, wird
der fragliche Inhalt eben nicht angezeigt, sonst schon.
Ein Klick leitet auf ein Skript weiter, welches die Datei
aktualisiert und dann den gewünschten Inhalt ausgibt.

Wenn das für jeden Nutzer unabhängig funktionieren soll, so
brauchst du dafür eine Sitzung, wo der Nutzer sich anmeldet,
dann kannst du die Datei jeweils für den Nutzer abspeichern und
aktualisieren. Gibt da auch Varianten mit cookies, die aber nicht
wirklich zuverlässig sind.


Das wäre das einmalige Ausblenden...

für das mehrfache kannst du es so machen:

[code]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
	<title>unbenannt</title>
	<meta http-equiv="content-type" content="text/html;charset=utf-8" />
	<meta name="generator" content="Geany 0.14" />
	<script type="text/javascript">
	// <![CDATA[
		function hide_ad()
		{
			document.getElementById("der_div").style.display = 'none';
			
			var date = new Date();
			var expires = date.getTime() + (24 * 60 * 60 * 1000);
			document.cookie = "hide_ad=1";
			document.cookie = "expires=" + ablauf.toGMTString();
		}
		
		function check_hide()
		{
			if(document.cookie && document.cookie == "hide_ad=1")
				document.getElementById("der_div").style.display = 'none';
		}
	//]]>
	</script>
	
	<style type="text/css">
	/* <![CDATA[ */
		#der_div {
			background-color: black;
			width: 200px;
			height: 100px;
			/* Positioning here */
		}
		
		#der_div .close {
			float: right;
		}
	/* ]]> */
	</style>
</head>

<body onload="check_hide()">
	<div id="der_div">
		<a href="javascript:hide_ad()" class="close">X</a>
	</div>
</body>
</html>
[/code]
Das ist genau das hier: [demo.michi7x7.de/test.html](http://demo.michi7x7.de/test.html)

:wink:

Das wäre das einmalige Ausblenden…

für das mehrfache kannst du es so machen:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
	<title>unbenannt</title>
	<meta http-equiv="content-type" content="text/html;charset=utf-8" />
	<meta name="generator" content="Geany 0.14" />
	<script type="text/javascript">
	// <![CDATA[
		function hide_ad()
		{
			document.getElementById("der_div").style.display = 'none';
			
			var date = new Date();
			var expires = date.getTime() + (24 * 60 * 60 * 1000);
			document.cookie = "hide_ad=1";
			document.cookie = "expires=" + ablauf.toGMTString();
		}
		
		function check_hide()
		{
			if(document.cookie && document.cookie == "hide_ad=1")
				document.getElementById("der_div").style.display = 'none';
		}
	//]]>
	</script>
	
	<style type="text/css">
	/* <![CDATA[ */
		#der_div {
			background-color: black;
			width: 200px;
			height: 100px;
			/* Positioning here */
		}
		
		#der_div .close {
			float: right;
		}
	/* ]]> */
	</style>
</head>

<body onload="check_hide()">
	<div id="der_div">
		<a href="javascript:hide_ad()" class="close">X</a>
	</div>
</body>
</html>

Das ist genau das hier: demo.michi7x7.de/test.html

:wink:

hallo,

könntest du dir vlt mal meinen quelltext anschauen?

iwie übernimmt der den cookie oda so nicht bei mir btw testet nicht
denn wenn ich ne weitere seite aufrufe ist die Werbung wieder da,
außerdem habe ich noch ne Frage, wenn man auf das X klickt wieso bleibt der Kopf und der Fuß des Divs erhalten und verschwindet nicht ganz?

wäre cool wenn ihr mir noch mal helfen könntet

Wenn du mir den Code auch zeigen würdest…

ah ich habe es hinbekommen,
allerdings geht auf deiner demo seite auch alles mit Opera das der kasten wegbleibt, mit Opera/Ie7 bei meiner Seite merkt er sich den cookie iwie net
ne ahnung woran sowas liegen kann?

Werden denn Cookies vom Browser überhaupt akzeptiert?

mhm bei michi auf der seite geht alles
bei der ttc seite gehts nicht
und alles ist aktiv
komisch^^

Werden auf deiner Seite noch andere Cookies gesetzt???

ja stimmt im phpbb3 forum kann er sich die logins auch nicht merken wenn man die speichert das man immer eingeloggt ist
frage mich nur wieso auf der bplaced seite bei mir die cookies nicht genommen werden

gespeichert sind sie wenn ich in die gesetzten cookies schaue aber effekt rein gar nix^^

bei mir geht es nicht, weil ich nur auf EIN Cookie überprüfe…warum es beim phpBB nicht geht, weiß ich auch nicht :wink: