verschiedene Positionierung von popup bei IE und Mozilla
gustav
- javascript
Hallo,
ich habe das Problem, daß im IE folgende Code in der Mitte der Seite zu sehen ist, aber bei Mozilla in obere Bereich der Seite, es wäre nett, wenn jemand mir sagen könnte, wie ich es hinkriegen kann, daß es auch bei Mozilla in der Mitte der Seite zu sehen ist:
<html>
<head>
<SCRIPT language=JavaScript>
var showbox = "1";
if (showbox) {
var ende = false;
var pop;
function MMSetup() {
pop = document.getElementById("popup").style;
document.onmousemove = MovePopup;
MovePopup();
}
function MovePopup() {
if (!ende) {
pop.top = document.body.scrollTop-30;
pop.height = document.body.offsetHeight+30;
}
}
function pms_close() {
ende = true;
pop.visibility = "hidden";
}
window.onscroll = MovePopup;
}
</SCRIPT>
</head>
<body topmargin="0" leftmargin="0" onload="winopen()">
<DIV id=popup style="LEFT: 0px; POSITION: absolute; TOP: -150px; HEIGHT: 0px"
width="100%">
<TABLE height="100%" width="100%">
<TBODY>
<TR>
<TD align=middle>
<TABLE cellSpacing=1 cellPadding=4 width=400>
<TBODY>
<TR>
<TD>Hallo Leute</TD></TR>
<TR>
<TD><br><center>Herzlichen Wilkommen !</center>
<BR><BR>
<TABLE cellSpacing=0 cellPadding=0>
<TBODY>
<TR>
</TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD align=middle width="50%">
<TABLE cellSpacing=1 cellPadding=3 width=150
bgColor=#555555><TBODY>
<TR id=title bgColor=#DBDBDB>
<TD align=middle><A href="Seite1.php>Ja</A>
</TD></TR></TBODY></TABLE></TD>
<TD align=middle width="50%">
<TABLE cellSpacing=1 cellPadding=3 width=150
bgColor=#555555><TBODY>
<TR id=title bgColor=#DBDBDB>
<TD align=middle><A href="javascript:pms_close()">Schließen</A></B></FONT>
</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></DIV>
<SCRIPT language=JavaScript>MMSetup();</SCRIPT>
Danke im Voraus.
Gruß
G.M.
moin,
ein paar fragen:
1. warum hast du nicht den gesamten code genommen, den ich dir gestern gepostet habe? in deinem code sind noch immer fehler drin, die ich bereits berichtigt hatte. mal abgesehen von einer übersichtlicheren formatierung ..
2. welchen ie benutzt du? wenn es in deinem ie mittig angezeigt wird, funktioniert es nicht richtig, teste es erstmal mit meinem code. im ie 6 wird genauso wie im mozilla der div-container (also die frage mit den buttons) immer am oberen seitenrand ausgerichtet - genau dafür ist diese script doch da. sinn ist, bei längeren seiten das menü immer mitfliegen zu lassen, wenn de ruser scrollt. ich hatte mich gestern schon gefragt, was das soll. aber jetzt bin ich total verwirrt:
3. was soll das script eigentlich, wenn du diese beiden buttons nur zentriert und mittig auf der seite anordnen willst? wozu diese scriptaufwand? das geht mit ein paar zeilen html viel einfacher ...
unser posting von gestern:
[pref:t=60929&m=343161]
gruß hein
ps: wenn du meinen code nicht nutzen willst, berichtige bitte trotzdem unbedingt den fehler mit dem anführungszeichen, allein das kann den seitenaufbau total zerscherbeln und den browser durcheinander bringen.
Erstmal Vielen Dank für die Mühe, es geht darum, ich möchte daß beim Anmelden aus der Datenbank gelesen wird und wenn es sein muß auf dem Bildschirm darauf aufmerksam gemacht wird. Und mein Code sieht wiefolgt aus:
<?
if ($test==1) {
?>
<html>
<head>
<link rel="STYLESHEET" href="style.css" type="text/css">
<?include("kopf.php")?>
</head>
<body topmargin="0" leftmargin="0">
<?
}
else {
?>
<html>
<head>
<link rel="STYLESHEET" href="style.css" type="text/css">
<?include("kopf.php")?>
<SCRIPT language=JavaScript>
var showbox = "1";
if (showbox) {
var ende = false;
var pop;
function MMSetup() {
pop = document.getElementById("popup").style;
document.onmousemove = MovePopup;
MovePopup();
}
function MovePopup() {
if (!ende) {
pop.top = document.body.scrollTop-30;
pop.height = document.body.offsetHeight+30;
}
}
function pms_close() {
ende = true;
pop.visibility = "hidden";
}
window.onscroll = MovePopup;
}
</SCRIPT>
</head>
<body>
<DIV id=popup style="LEFT: 0px; POSITION: absolute; TOP: -250px; HEIGHT: 0px" width="100%">
<TABLE height="100%" width="100%">
<TBODY>
<TR>
<TD align=middle>
<TABLE cellSpacing=1 cellPadding=4 width=400 bgColor=#555555>
<TBODY>
<TR>
<TD id=title align=middle bgColor=#111111><FONT
face="Verdana, Arial, Helvetica, sans-serif" color=#bbbbbb
size=2><B>Bitte Lesen !</B></FONT> </TD></TR>
<TR>
<?
$sql_achtung="SELECT achtungID from achtung WHERE empfaengerID=".$userID." And neu='1'";
$achtung=mysql_query($sql_achtung,$conect);
if($anz==1)
$nach="Mitteilung";
else
$nach="Mitteilungen";
?>
<TD id=tableb bgColor=#DBDBDB><FONT
face="Verdana, Arial, Helvetica, sans-serif" size=1><B><FONT
size=2><? echo "<br><b><center>Sie haben ".$anz." neue ".$nach." !</center>";
while($achtung2=mysql_fetch_array($achtung)) {
$update_achtung2="UPDATE achtung SET neu='0' where achtungID=".$achtung2["achtungID"];
$update_achtung2_query=mysql_query($update_achtung2,$conect);
}
?></B></FONT></B></FONT> <BR><BR>
<TABLE cellSpacing=0 cellPadding=0>
<TBODY>
<TR>
</TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD align=middle width="50%">
<TABLE cellSpacing=1 cellPadding=3 width=150
bgColor=#555555><TBODY>
<TR id=title bgColor=#DBDBDB>
<?
$sql1="Select achtungID from achtung where empfaengerID=".$userID." And nSpeichern='0' order by nachrichtID DESC";
$res1=mysql_query($sql1,$conect);
$Nach=mysql_fetch_array($res1);
?>
<TD align=middle><FONT
face="Verdana, Arial, Helvetica, sans-serif"
color=#bbbbbb size=2><B><A
onmousedown="status='Zu den Mitteilungen...'; return true;"
onmouseover="status='Zu den Mitteilungen...'; return true;"
title="zu den Mitteilungen..."
style="TEXT-DECORATION: none"
onmouseout="status=''; return true;"
href="mitteilungen.php?action=1&idN=<? echo $Nach["mitteilungen"]; ?>">Mitteilungen</A></B></FONT>
</TD></TR></TBODY></TABLE></TD>
<TD align=middle width="50%">
<TABLE cellSpacing=1 cellPadding=3 width=150
bgColor=#555555><TBODY>
<TR id=title bgColor=#DBDBDB>
<TD align=middle><FONT
face="Verdana, Arial, Helvetica, sans-serif"
color=#bbbbbb size=2><B><A
onmousedown="status='Dieses Fenster schließen...'; return true;"
onmouseover="status='Dieses Fenster schließen...'; return true;"
title="Dieses Fenster schließen..."
style="TEXT-DECORATION: none"
onmouseout="status=''; return true;"
href="javascript:pms_close()">Schließen</A></B></FONT>
</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></DIV>
<SCRIPT language=JavaScript>MMSetup();</SCRIPT>
<?
}
?>
Hi,
pop = document.getElementById("popup").style;
pop ist also ein style-Objekt.
pop.top = document.body.scrollTop-30;
Du weist demnach der CSS-Eigenschaft top die Differenz zu. Diese Differenz ist eine Zahl.
top erwartet aber eine Längenangabe. Eine Längenangabe ist eine Zahl gefolgt von einer Längeneinheit oder 0.
Wird ein fehlerhafter Wert für eine Eigenschaft angegeben, so ist dieser Wert zu ignorieren.
Eine Zahl ungleich 0 an einer Stelle, wo eine Längenangabe erwartet wird, ist ein fehlerhafter Wert.
Folglich wird dieser fehlerhafter Wert von (in dieser Hinsicht) korrekten Browsern ignoriert. Stattdessen wird also der Default-Wert benutzt. Bei top ist dies auto (was im Endeffekt auf 0 rausläuft).
pop.height = document.body.offsetHeight+30;
Auch height erwartet eine Längenangabe, nicht eine Zahl.
cu,
Andreas
hi,
ich habe das Problem, daß im IE folgende Code in der Mitte der Seite zu sehen ist, aber bei Mozilla in obere Bereich der Seite
nachdem du im </archiv/> dutzende male (oder in selfhtml einmal) auf die feststellung gestossen bist, dass folgender code
<TABLE height="100%" width="100%">
mit height ein attribut für table beinhaltet, welches gar nicht existent ist, frage ich mich, was eigentlich noch unklar ist ...?
gruss,
wahsaga