Wie kann ich aus eine andere Tabelle scrollen?
Lukas Schaufler
- javascript
Hallo!
Ich habe ein Problem:
Ich möchte auf meiner Webpage eine TD scrollen wobei die Scrollbuttons Bilder sind und in einer andern TD sind.
In Javascript dich es doch die Möglichkeit einen Befehl mit einem Ziel zu verknüpfen?
Wie heißt dieser Befehl?
Für diesen Befehl muss ich der Ziel TD doch einen Namen zuweisen (geht das normal mit name="xy")?
Um zu verstehen was ich meine kann ich euch noch auf die betroffene Page verweisen...am Besten sieht man das Problem in der HTML Version unter "Projekte")
http://www.schaufler.cc/Lukas/html_projekte.php
...und zu Vergleichen die Flash Version...
http://www.schaufler.cc/Lukas/Flash_main.html
Die HTML Version sollte genau so wie die Flash Version auschauen und funktionieren (Content wird per PHP aus einer externen Datei ausgelesen).
Danke
Lukas
www.schaufler.cc
Hallo!
Ich habe ein Problem:
Ich möchte auf meiner Webpage eine TD scrollen wobei die Scrollbuttons Bilder sind und in einer andern TD sind.
Deine Seite ist Klasse, deshalb habe ich mal getüftelt. Klappt im IE 5 und im FF 1.0, aber nicht im NS 7 und nicht im O=pera 7.54u2:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<title>Scroll-Test</title>
<meta http-equiv='content-type' content='text/html;charset=ISO-8859-1'>
<script type="text/javascript">
<!--
var oben = 0;
var ud;
function scroll( updown ) {
if ( updown == 'up' ) oben = oben -10; else if ( updown == 'down' ) oben = oben +10;
window.document.getElementById( 'info' ).style.marginTop = oben+"px";
ud = updown;
if ( updown != 'stop' ) setTimeout("scroll( ud )",100 );
}
//-->
</script>
</head>
<body>
<table border=1>
<tr><td align=right onMouseover="scroll('down')" onMouseout="scroll('stop')">Maus hier = down</td></tr>
<tr><td><div style="width:300px; height:300px; max-height:300px; overflow:hidden">
<p id="info">
<script type="text/javascript">
<!--
for(var i=1; i<=100; i++)
document.write("<br>Zeile " +i );
//-->
</script>
</p></div></td></tr>
<tr><td align=right onMouseover="scroll('up')" onMouseout="scroll('stop')">Maus hier = up</td></tr>
</table>
</body></html>
LG Kalle
Hallo Kalle_Worms,
Deine Seite ist Klasse, deshalb habe ich mal getüftelt. Klappt im IE 5 und im FF 1.0, aber nicht im NS 7 und nicht im O=pera 7.54u2:
Also ich würde die Seiten
http://www.schaufler.cc/Lukas/html_projekte.php und
http://www.schaufler.cc/Lukas/Flash_main.html
ja auch gerne mal sehen, kann ich aber leider nicht, weil es immer heißt "Server nicht gefunden".
Wie hast du das geschafft, dir das anzuschauen, Kalle?
Gruß Gernot
Hy Gernot!
Sorry...mein Server läuft noch im "Probebetrieb" da mein Billigrouter ab und zu den Geist aufgibt und keine Verbindungen nach innen mehr zulässt :-(...sobald das finanzielle es zulässt wird er natürlich getauscht!!!
Ich hab das Teil mal wieder neu gestartet und für ziemlich genau 10 Stunden geht's wieder (Netgear lässt grüßen *g*).
Lg.
Lukas
www.schaufler.cc
Hallöchen!
Der Tread ist nicht mehr aktuell, da aus diesem eine andere Problemsituation hervorgegengen ist.
Ich habe daher einen neuen Thread mit den genauen Problem eröffnet:
http://forum.de.selfhtml.org/my/?t=103543&m=637832
Sorry für dieses "hin und her" aber sonst kennt sich keiner mehr aus *g*
Deine Seite ist Klasse, deshalb habe ich mal getüftelt. Klappt im IE 5 und im FF 1.0, aber nicht im NS 7 und nicht im O=pera 7.54u2:
Dankeschön! Freut mich das zu hören...
Lass mich mal das hier rekapitulieren damit ich das verstehe...
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<title>Scroll-Test</title>
<meta http-equiv='content-type' content='text/html;charset=ISO-8859-1'>
<script type="text/javascript">
<!--
var oben = 0;
var ud;
function scroll( updown ) {
if ( updown == 'up' ) oben = oben -10; else if ( updown == 'down' ) oben = oben +10;
window.document.getElementById( 'info' ).style.marginTop = oben+"px";
ud = updown;
if ( updown != 'stop' ) setTimeout("scroll( ud )",100 );
}
//-->
</script>
Hier wird mal definiert wie gescrollt wird
</head>
<body>
<table border=1>
<tr><td align=right onMouseover="scroll('down')" onMouseout="scroll('stop')">Maus hier = down</td></tr>
Diesen Part ordne ich dem Bild (unten) zu?
<tr><td><div style="width:300px; height:300px; max-height:300px; overflow:hidden">
<p id="info">
<script type="text/javascript">
<!--
for(var i=1; i<=100; i++)
document.write("<br>Zeile " +i );
//-->
</script>
Dies schreibe ich in mein Textfeld?
Hier ordne ich der TD die ID zu?
</p></div></td></tr>
<tr><td align=right onMouseover="scroll('up')" onMouseout="scroll('stop')">Maus hier = up</td></tr>
Diesen Part ordne ich dem Bild (oben) zu?
</table>
</body></html>
LG Kalle
Danke & Lg.
Hallo Lukas,
Ich möchte auf meiner Webpage eine TD scrollen wobei die Scrollbuttons Bilder sind und in einer andern TD sind.
http://www.schaufler.cc/Lukas/html_projekte.php
...und zu Vergleichen die Flash Version...
http://www.schaufler.cc/Lukas/Flash_main.html
Die HTML Version sollte genau so wie die Flash Version auschauen und funktionieren (Content wird per PHP aus einer externen Datei ausgelesen).
In Javascript dich es doch die Möglichkeit einen Befehl mit einem Ziel zu verknüpfen?
Wie heißt dieser Befehl?
Für diesen Befehl muss ich der Ziel TD doch einen Namen zuweisen (geht das normal mit name="xy")?
Also wenn du deine Inhalte innerhalb deiner Inhaltszelle in einem Iframe päsentierst, der sich auf 100% Höhe und Breite deiner Inhaltszelle ausdehnt, dann musst du diesem Iframe einen Namen geben, um ihn später von außerhalb (Buttons in deiner Hauptseite) ansprechen zu können. Vielleicht meinst du das.
Nehmen wir mal an, du gibst deinem Iframe das Namensattribut name="detail". Dann kannst du ihn mittels Buttons von der Muterseite aus steuern, indem du ihn mit just diesem Namen ansprichst:
function scrollUp() {
detail.scrollBy(0, -5);
scr = window.setTimeout("scrollUp()",83);
}
function scrollDown() {
detail.scrollBy(0, 5);
scr = window.setTimeout("scrollDown()",83);
}
function scrollStop() {
window.clearTimeout(scr);
}
Dazu rufts du die Funktionen scrollUp() und scrollDown() jeweils mit dem onMouseOver-Eventhandler auf deinen entsprechenden Buttons auf und mit dem onMouseOut-Eventhandler stoppst du sie dann wieder. Übrigens: die 83 Millisekunden des Intervalls entsprechen dabei der für Flashfilme üblichen Framerate von 12 pro Sekunde. Die Werte -5 und 5 der Schrittgeschwindigkeit des Scrollens.
Ein Beispiel, wie du das machst, damit auch Leute, die JS nicht aktiviert haben, wenigstens per Scrollleiste in deinem Iframe scrollen können, siehst du hier:
http://www.sprachlernspiele.de/scroll/index.html
Auf das Ein- und Ausblenden der Buttons kannst du ja in dem Fall verzichten, du möchtest sie ja glaube ich immmer haben.
Natürlich geht das Ganze auch ohne Iframe, ich denke aber, dann wird es richtig kompliziert: Dann müsstest du in deiner Layouttabelle alle Zellen mit weißer Hintergrundfarbe abdecken und nur den Inhaltsbereich als Guckfenster ohne Hintergrundfarbe aussparen. Einen in der Breite passgenauen und absolut positionierten Layer dahinter könntest du dann dynamisch in seiner top-Eigenschaft verändern, sodass immer andere Ausschnitte durch das Guckloch hindurch schauen. Diesen Layer würdest du dann mit seiner ID ansprechen und das ganze natürlich auch wieder in einer Intervall- oder in einer sich selbst aufrufenden Timeout-Funktion.
Gruß Gernot
Hallo nochmal,
function scrollUp() {
detail.scrollBy(0, -5);
scr = window.setTimeout("scrollUp()",83);
}
function scrollDown() {
detail.scrollBy(0, 5);
scr = window.setTimeout("scrollDown()",83);
}
function scrollStop() {
window.clearTimeout(scr);
}
jetzt hoffentlich gehighlightet (in der Vorschau immer noch nicht)
Gruß Gernot
Hallo!
Danke für deine Mithilfe!
Jedoch habe ich ein kleines Problem...innerhalb des IFrames kann ich meine PHP Abfrage nicht durchführen (wird einfach ignoriert - bzw. nur weisses Bild und keine PHP Fehlermeldung).
Text steht auch keiner drinnen --> also weiss in weiss *g*.
Lg.
Hallo Lukas,
Jedoch habe ich ein kleines Problem...innerhalb des IFrames kann ich meine PHP Abfrage nicht durchführen (wird einfach ignoriert - bzw. nur weisses Bild und keine PHP Fehlermeldung).
Text steht auch keiner drinnen --> also weiss in weiss *g*.
Wenn wir den Titel dieses Threads ändern und das Thema, findet sich vielleicht einer der dir helfen kann. PHP-Anhänger haben zwar wahrscheinlich seltener mit Iframes zu tun, als jene, die sich damit behelfen, weil sie selbst oder ihr Server kein PHP kann, aber das muss doch zu lösen sein.
Gruß Gernot