PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Script wiederholen lassen


timsibi
17.02.2004, 20:25
Also es geht um Folgendes: Ich weiß nicht wie man den folgenden Javascript wiederholen lässt bis der Frame nicht mehr scollt :(
Vielleicht kann mir jemand helfen.

<iframe id="Frame" src="the-legend-of-zelda/loesung.htm" width="100%" height="200" name="content" marginwidth="0" border="0" frameborder="0" marginheight="0"></iframe>
<script type="text/javascript">
<!--
var hoehe=document.getElementById("Frame").height;
hoehe = hoehe-1+2;
if (document.getElementById("Frame").scrolling="yes" )document.getElementById("Frame").height =hoehe;
alert(document.getElementById("Frame").height) ;
//-->
</script>


Intrus
17.02.2004, 20:32
Hm...2 Fragen:

1.) hoehe = hoehe-1+2... Warum nicht gleich hoehe+1? Gabs da Fehler?

2.) Was soll des Alert?

Ich vermute ja, dass du versucht hasst den Iframe zu scrollen..Nur bin ich leider von deinem Quellcode etwas verwirrt dass ich nicht genau weiss ob der Frame nach oben oder nach unten gescrollt werden soll! Falls ich jedoch mit meiner Vermutung richtig liege, kann ich dir glaube helfen ;-)

Ansonsten verbessere mich..ist kein Problem ;)

--

Hab dir grad ne PN mit ner URL geschickt. Hoffe dass das richtig ist ;)

timsibi
17.02.2004, 20:46
erstmal die Antworten:
zu 1.) Bei +1 gab es einen Fehler den cih durch -1+2 ausbesser konnte!

zu 2.) Den Alert hab ich nur als Kontrolle benutzt schreib einfach ein // davor oder lass ihn weg ;)


Was dieser Script bewirken soll:
Wenn im Inlineframe angefangen wird zuscollen (bei einem längerem Text als die Größe des Frames) soll die Größe des Frames um 1 vergrößert werden! Und dies soll dann so oft wiederholt werden bis im Frame nicht mehr gescollt wird ;)

Intrus
18.02.2004, 00:29
Achso..Sorry! Nunja jetzt verstehe ichs! Du willst praktisch, dass der Frame nie Scrollbars hat! Er soll also immer groß genug sein, um den kompletten Inhalt auszugeben...

Pass auf..ich denke mal dass ist die Mühe nicht wert! Da gibts viele einfachere Methoden! Ich würde vorschlagen du zeigst mir mal die komplette Datei und erklärst mir dein Problem anhand der Datei nochmal! In diesem Fall kannste schonmal meine URL vergessen da sich die um das Scrollen von Iframes geht...und genau dass willst du ja eben verhindern ;)

Und wie siehts überhaupt mit normalen Frames aus? Würde denn sowas klappen? So auf die schnelle fällt mir da ne recht einfache PHP-Lösung ein um deinen Frame zu vergößern aber wie gesagt: viele wege führen nach rom! °oO(Manche sind steinig und steil... ;) )

timsibi
18.02.2004, 13:39
ich habs ja schon hinbekommen das es sich vergrößert
aber ich weiß nicht wie man den Script wiederholen lässt bis die Scollbar aus ist :(

Intrus
18.02.2004, 21:45
Nunja die ganze Sache ist kompliziert... es könnte einfacher gehen.. Versuch mal die Zeilenanzahl der Eingebetteten Datei einzulesen?! Aber dass würde auch nicht gut gehen... hm..

Versuch mal den ganzen IFrame durch nen ordentliches Frameset zu ersetzen.. ;) Oder du stellst die IFrame-Größe auf 100%...schonmal versucht?

Intrus
18.02.2004, 21:47
if (document.getElementById("Frame").scrolling="yes" )document.getElementById("Frame").height =hoehe;
alert(document.getElementById("Frame").height) ;


Funktioniert das? Erkennt er ob der Frame Scrollbars hat?

timsibi
19.02.2004, 13:37
ähhm ... ja sonst würde der ja nicht die Größe des Frames ändern oder :confused:

Intrus
19.02.2004, 22:39
Dann setz halt ne Sprungmarke vor den Vergrößern-Teil... Wenn der Frame noch Scrollbars hat, kehrst du zurück zur Marke.... Oder startest die Funktion neu...

Siehe http://selfhtml.teamone.de

Intrus
19.02.2004, 23:48
<script type="text/javascript">
<!--

function Resize()
{
var hoehe=document.getElementById("Frame").height;
hoehe = hoehe-1+2;
if (document.getElementById("Frame").scrolling="yes" )document.getElementById("Frame").height =hoehe;
Resize();
}

//-->
</script>



Teste Mal, ob dass funzt! Musst eventuell in den BODY-Tag schreiben, dass er die Funktion beim laden der File starten soll..

Intrus
19.02.2004, 23:54
var hoehe=document.getElementById("Frame").height;
hoehe = hoehe-1+2;
while(document.getElementById("Frame").scrolling="yes") {
hoehe = hoehe-1+2;
}


Oder füge dass mal ein... theoretisch setzt der jetzt solange hoehe + 1 wie der Frame Scrollbars hat... hoffe damit kannst du was anfangen! Wenn nicht: schreibs! ;)

timsibi
20.02.2004, 09:38
Das hatte ich auch schon probiert. Aber es kam immer nur ne Endlosschleife und Frontpage hat sich aufgehängt :mauer:
aber trotzdem thx für ihre Bemühungen ;)

Intrus
20.02.2004, 14:08
Sorry...

timsibi
21.02.2004, 23:31
Ich werde mal meinen Vater fragen der hat sich damit auch schon auseinandergesetzt. Der meinte man müsste die Datei, die angezeigt werden soll, irgendwo reinladen und davon die Größe in Pixel messen.

Intrus
22.02.2004, 00:54
Nun ich habe sowas noch nie gemacht/versucht! Ist wohl besser wenn du deinen Vater(?!) fragts... :D