Div per Button einblenden!

asolution

Mitglied
Hallo zusammen

Ich möchte gerne ein <div> einblenden wenn ich den Button drücke. Zurzeit wird das div immer angezeigt respektive schon am Anfang und nicht nur bei drücken des Buttons!

[javsscript]

function moveDiv() {
var obj = document.getElementById("pop");
if (parseInt(obj.style.top, 10) < 150) {
obj.style.top = parseInt(obj.style.top, 10) + 2;
setTimeout("moveDiv()", 10);
}
}

function visible() {
var div = document.getElementById("pop");
div.style.display = "inline"; // oder inline, oder... , oder ..., oder

}

function unvisible() {
var div = document.getElementById("pop");
div.style.display = "none"; // oder inline, oder... , oder ..., oder
}

[/javsscript]

HTML:
<?
include("loginmask.php");
?>
<html>
<head>
<title>.....</title>

<script type="text/javascript" src="jeck_teilnahme.js"></script>
<link rel="stylesheet" type="text/css" href="design.css">
</head>

<body onload="unvisible();">

<div id="linksoben"></div>
<div id="mitteoben">

<table>
	<tr height="245">
		<td width="510px"></td>
	</tr>
	<tr height="35px">
		<td width="400px"></td>
		<?php
		if ($_SESSION["user_name"]) {
			echo '<td align="left">';
			echo '<form method="post">';
			echo '<input type="submit" id="btn**" name="**" value="zur **" id="**" width="40" onclick="moveDiv();visible();"></form>';
			echo '</td>';
		}
		else
		{
			echo '<td height="35px"></td>';
		}
		?>
	</tr>
	<tr>
		<td width="480px"></td>
		<td>
		</td>
	</tr>
</table>
</div>
		<?php
		if($_SESSION['user_name'])
		{?>
<div id="pop" onload="unvisible();" onclick="unvisible();">OMG jetzt wirds
e dicki saach!</div>
		<?php }
		?>


<div id="rechtsoben"></div>

<div id="linksmitte"></div>
		<?php include 'menumitte.php';?>
<div id="mittemitte">
<div id="mittecontent"></div>
</div>
<div id="rechtsmitte"></div>

		<?include("footer.php");?>
</body>
</html>


Weshalb funktioniert das alles nicht?
PS: Die Sterne sind gewollt!
 
Also wenn ich deinen Code nehme, das Javascript ins HTML einfüge und das PHP nicht interpretieren lasse, funktioniert alles.

Das onclick="unvisible();" im pop-div ist wohl nur zu Testzwecken und soll später wahrscheinlich visible() heißen.

In meinen Augen kann es also nur an zwei Dingen liegen:
1. Entweder deine Javascript-Datei wird nicht geladen (Tippfehler, falscher Pfad)
2. oder dein Login-PHP, das du noch VOR dem <html>-Tag einbindest bringt selbst ein <body>-Tag mit und daher wird dein onload nicht interpretiert.

Das onload im pop-div wird meines Wissens nach nichts bringen.

HTML:
<html>
<head>
<title>.....</title>

<script type="text/javascript">

function moveDiv() {
var obj = document.getElementById("pop");
if (parseInt(obj.style.top, 10) < 150) {
obj.style.top = parseInt(obj.style.top, 10) + 2;
setTimeout("moveDiv()", 10);
}
}

function visible() {
var div = document.getElementById("pop");
div.style.display = "inline"; // oder inline, oder... , oder ..., oder

}

function unvisible() {
var div = document.getElementById("pop");
div.style.display = "none"; // oder inline, oder... , oder ..., oder
}


</script>
<link rel="stylesheet" type="text/css" href="design.css">




</head>

<body onload="unvisible();">

<div id="linksoben"></div>
<div id="mitteoben">

<table>
	<tr height="245">
		<td width="510px"></td>
	</tr>
	<tr height="35px">
		<td width="400px"></td>
		<?php
		if ($_SESSION["user_name"]) {
			echo '<td align="left">';
			echo '<form method="post">';
			echo '<input type="submit" id="btn**" name="**" value="zur **" id="**" width="40" onclick="moveDiv();visible();"></form>';
			echo '</td>';
		}
		else
		{
			echo '<td height="35px"></td>';
		}
		?>
	</tr>
	<tr>
		<td width="480px"></td>
		<td>
		</td>
	</tr>
</table>
</div>
		<?php
		if($_SESSION['user_name'])
		{?>
<div id="pop" onload="unvisible();" onclick="unvisible();">OMG jetzt wirds
e dicki saach!</div>
		<?php }
		?>


<div id="rechtsoben"></div>

<div id="linksmitte"></div>
		<?php include 'menumitte.php';?>
<div id="mittemitte">
<div id="mittecontent"></div>
</div>
<div id="rechtsmitte"></div>

		<?include("footer.php");?>
</body>
</html>
 
Ja also das unvisible() ist natürlich zu Testzwecken... und auch das onklick!
Ich habe nur diesen einen <body> und nirgendssonst!
Das unvisible() funktioniert bereits wenn man auf das <div> klickt deshalb sollte das JS geladen werden!
Ohne PHP kann man den Button ja gar nicht drücken deshalb kann man das nicht testen?

Irgendwie find ich den Fehler nicht... -.-
 
Zurück