• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Tabellen Kopfzeile stehen lassen beim scrollen

Ha! Ich hab' was gefunden: der IE9 feuert ein .onresize auf dem document.documentElement wenn sich die Dokumentengröße ändert:
Code:
<!DOCTYPE html>

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Fenstertitel</title>
<script type="text/javascript">
window.onresize = document.onresize = document.documentElement.onresize = function(){
	console.log("resize (" + (this === window? "window": this.nodeName) + ")");
}
window.setTimeout(function(){document.getElementById("div").style.display = "block";}, 1000);
</script>
<style type="text/css">
div {
	height: 2000px;
	display: none;
}
</style>
</head>
<body>
inhalt
<div id="div">test</div>
</body>
</html>
 
Dann müsste folgende Version doch jetzt alles abdecken: Table with fixed header V.4.3.4
Soeben getestet im IE9.
In Bezug auf das Erscheinen nach vollständigem rausscrollen der Original Kopfzeile in Ordnung. Danke dir!
In Bezug auf das Hängen-Bleiben leider keine Veränderung bei mir.
Und zwar feuert der IE in meiner Konstellation das
HTML:
window.onresize = document.onresize = document.documentElement.onresize = function(){
	console.log("resize (" + (this === window? "window": this.nodeName) + ")");
}
nicht ab. Habe diesen Code extra in meine Seite eingebaut, feuert nicht. In einer separaten losgelösten Testseite feuert es.
Habe allerdings in meinem Dokument auch eine stellenweise ziemlich verschachtelte Struktur.
Habt ihr eine Idee, wie ich dem Grund auf die Schliche kommen kann? Vielleicht hat meine Dokumentenstruktur einen Fehler und der ist bisher nicht zutage getreten.
 
Habs!!!!!!!!!!!
HTML:
<!DOCTYPE html>

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Fenstertitel</title>
<script type="text/javascript">
window.onresize = document.onresize = document.documentElement.onresize = function(){
	console.log("resize (" + (this === window? "window": this.nodeName) + ")");
}
window.setTimeout(function(){document.getElementById("div").style.display = "none";}, 1000);
</script>
<style type="text/css">
div {
	height: 2000px;
}
</style>
</head>
<body>
<div>
inhalt
<div id="div">test</div>
</div>
</body>
</html>
Hiermit feuert der IE 9 nicht.
Warum? Weil der gesamte Content in einem div hängt. Und so ist es bei mir nämlich auch. Das ist das äußere Layout-Template, auf das ich keinen Einfluss habe. Ich könnte erreichen, diesem div eine ID zu geben.
Können wir dann diese events auf diese ID beziehen? Die ID als Parameter übergeben? Oder besser noch beides, damit alle Fälle abgedeckt sind?
Wie müsste das aussehen?
 
Zuletzt bearbeitet:
Neben dem onresize event steuerbar per ID als optionaler Parameter habe ich noch zwei Wünsche:
1. der Hintergrund der gedoppelten Kopfzeile soll nicht transparent sein, sonst scheinen die hoch gescrollten Zeilen so doof durch (habe es bei mir mit einem inline style background-color auf der <thead> versucht, wird in der gedoppelten Kopfzeile aber leider nicht beachtet)
2. die gedoppelte Kopfzeile soll im Anzeigebereich bei vertikaler Position 0 beginnen, also gaaaaanz oben, sonst sieht man auch hier die hoch gescrollten Zeilen durchschimmern.

@miniA4kuser: Würdest du mir diese 3 Sachen noch einbauen? Dann geb ich echt einen aus! :)

Ist auch einer der längsten Threads mittlerweile, oder?
 
Mit diesem Beispielcode feuert gar kein IE ein resize-Event, da sich Größe nicht ändert...
Wenn du die Höhenangabe nur auf das innere <div> setzt, wird wieder gefeuert.
 
@mikdoe: Hast du da ein paar screenshots zu 1) und 2)? Eigentlich sollte es schon gaaanz oben sein.
Na klar. Kommt.
Man sieht ganz oben die Fensterleiste des IE9, und ganz dünn zwischen der Kopfzeile diesen kleinen Spalt. Sind vielleicht 1 oder 2 Pixel, mehr ist das nicht.
Die Kopfzeile besteht hier aus zwei Tabellenzeilen, oben dem Paginator und darunter den Spaltenköpfen. Kann man dazwischen auch diese durchschimmernde Pixelreihe erkennen?
 

Anhänge

  • kopfzeile_transparenz.jpg
    kopfzeile_transparenz.jpg
    26,6 KB · Aufrufe: 3
zu 1)
Hat denn die original Tabelle irgendwo einen Hintergrund definiert? Denke mal das die original Tabelle auch komplett transparent ist. Gib der ganzen original Tabelle (nicht dem head, body oder foot) doch mal eine Hintergrundfarbe (wenn diese nicht transparent sein muss).


Ist auch einer der längsten Threads mittlerweile, oder?
Kann sein. Wäre mal interessant zu wissen, wie lang der längste Thread bis jetzt ist
 
zu 1)
Hat denn die original Tabelle irgendwo einen Hintergrund definiert? Denke mal das die original Tabelle auch komplett transparent ist. Gib der ganzen original Tabelle (nicht dem head, body oder foot) doch mal eine Hintergrundfarbe (wenn diese nicht transparent sein muss).
Ja, paßt!!
OK, jetzt ergibt sich aber wieder ein neuer Wunsch: Könntest du das bitte wieder rausnehmen, dass man die duplizierte Kopfzeile erst sieht, wenn die originale komplett weg ist? Denn die Schaltflächen sollten natürlich immer zu sehen sein. Das war ja nur, weil das durchschien und sich überlagert hat, was jetzt durch die background-color der ganzen Tabelle behoben ist. Ich hätte es also jetzt gern wieder so, wie es mal war, nämlich dass die duplizierte Kopfzeile schon zu sehen ist, sobald der obere Rand der Originalen beginnt zu verschwinden, damit die Kopfzeile immer vollständig sichtbar ist. :rolleyes:

Dann noch eine Frage: Jetzt wo ich den Paginator fertig habe, habe ich natürlich auch Tabellen ohne Scrollleiste, was ich bisher bei allen Tests nicht hatte. Das verursacht beim Bildaufbau ein schweres Zucken. Die Tabelle ist ursprünglich width:100% und wenn die fixedTableHeader ihren Dienst aufnimmt zuckt die Tabelle auf eine kleinere width. Die Differenz ist genau der nicht vorhandene Scrollbalken rechts.
Das ist zum einen wegen des Zuckens unschön und zum anderen wegen des Gesamtbildes. Denn der Content darüber und darunter ist davon ja nicht betroffen und weiterhin 100 % breit. Nur meine Tabelle mittendrin ist nicht mehr 100%, was etwas doof aussieht :(
Kann man das ändern?

<stike>Und als drittes noch die Frage, ob man die duplizierte Kopfzeile bei 0, also gaaaaaaaanz oben, beginnen lassen kann?</STRIKE>
Dies hier hat sich erledigt. Durch die Background-color scheint oben nichts mehr durch. Insofern ist das optisch so ganz ok!

Achso, und unser Stehen-Bleib-Fehler im IE ist auch noch drin.
 
Zuletzt bearbeitet:
Ich fasse das jetzt nochmal ordentlich zusammen mit neuen Nummern.

1. Duplizierte Kopfzeile bitte wieder früher einblenden, sobald die erste Pixelreihe der Originalkopfzeile verschwunden ist.

2. Breitenreduzierung für Scrollleiste und resultierendes Zucken anders lösbar?

3. Optionalen Parameter für ID auf die dann zusätzlich noch das onresize event angewendet wird, damit das Stehen-Bleib-Problem im IE behoben wird.

Danke dir tausendfach!!
 
Zurück
Oben