mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 28.03.2024 09:41 Benutzername: Passwort: Auto-Login

Thema: [JavaScript] Scrolleisten-Position bestimmen/ändern vom 29.06.2005


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [JavaScript] Scrolleisten-Position bestimmen/ändern
Seite: 1, 2  Weiter
Autor Nachricht
chrikle
Threadersteller

Dabei seit: 02.05.2002
Ort: NRW
Alter: 47
Geschlecht: Männlich
Verfasst Mi 29.06.2005 09:56
Titel

[JavaScript] Scrolleisten-Position bestimmen/ändern

Antworten mit Zitat Zum Seitenanfang

Mahlzeit!

Hab zur zeit ine "kleines" Problem, und möchte gerne um Eure Hilfe bitten.

Folgendes:

Ich habe ein Hauptdokument (scroll.htm) in dem ein iFrame platziert ist (rutscher.htm).
Nun möchte ich gerne die Scrollleisten-Position ermitteln, und nach dem refresh der
iFrame-Datei die Position wieder herstellen.

Mittels pageXOffset, pageYOffset (bei IE sind es: scrollLeft und scrollTop) kann ich ja angeblich
die Position ermitteln, wie weit die Seite gescrollt wurde. Und mittels scrollTo(x, y) könnte ich
dann ja das Dokument entsprechend zu der Position scrollen lassen. Das problem
ist halt nur, das immer für X und Y 0 Pixel ermittelt werden, obwohl ich im iFrame-Dokument
gescrollt habe????

Warum??? Kann mir vielleicht jemand helfen??? Hier mal die Scripte

scroll.htm:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Unbenanntes Dokument</title>
<script language="JavaScript" type="text/javascript">
<!--
var iFrame_URI = "rutscher.htm";
var IE= ((document.all)&&(!document.layers)) ? true : false;

function VorschauRefresh()
{

      if(IE == true)
      {
         var vXPosition = document.getElementById('VorschauFrame').scrollLeft;
         var vYPosition = document.getElementById('VorschauFrame').scrollTop;
      }
      else
      {
         var vXPosition = document.getElementById('VorschauFrame').pageXOffset;
         var vYPosition = document.getElementById('VorschauFrame').pageYOffset;
      }      
      document.getElementById('VorschauFrame').src= iFrame_URI;

      parent.VorschauFrame.RutschMa(parseInt(vXPosition), parseInt(vYPosition));

}
//-->
</script>
</head>

<body>
<iframe name="VorschauFrame" id="VorschauFrame" src="rutscher.htm" style="border:0px; height: 250px; width:100%" scrolling="auto"></iframe><br />
<a href="#" onClick="VorschauRefresh()">Jetzt zeig mal was</a>
</body>
</html>



rutscher.htm:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Unbenanntes Dokument</title>
<script type="text/javascript" language="javascript">
<!--
 function RutschMa(vXPosition, vYPosition)
 {
    window.scrollTo(vXPosition, vYPosition);
   alert("X: "+vXPosition+" Y:"+ vYPosition);
 }

//-->
</script>
</head>

<body>
<p>Hier </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>steht </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>dann</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>viel </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Text</p>
</body>
</html>


Gruß
Chris


Zuletzt bearbeitet von chrikle am Mi 29.06.2005 09:57, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
caZpa
Account gelöscht


Ort: -

Verfasst Mi 29.06.2005 10:30
Titel

Antworten mit Zitat Zum Seitenanfang

die funktion RutschMa steht in rutscher.htm
wird aber in scroll.htm aufgerufen...
ich denke mit parent.VorschauFrame.RutschMa(parseInt(vXPosition), parseInt(vYPosition)); funktioniert das nicht


vielleicht die funktion RutschMa[i] in die scroll.htm
und statt [i]window.scrollTo(vXPosition, vYPosition);

VorschauFrame.window.scrollTo(vXPosition, vYPosition);

vielleicht geht das ja * Keine Ahnung... *
 
Anzeige
Anzeige
chrikle
Threadersteller

Dabei seit: 02.05.2002
Ort: NRW
Alter: 47
Geschlecht: Männlich
Verfasst Mi 29.06.2005 10:35
Titel

Antworten mit Zitat Zum Seitenanfang

Leider nicht.

Drum habe ich ja in der Funktion RutschMa ein Alert. Der wird auf jeden Fall ausgeführt.

Wenn ich zum Beispiel in der scroll.htm direkt folgendes eingebe:

Code:

      parent.VorschauFrame.scrollTo(50, 50);


Funktioniert das einwandfrei. Die iFrame-Datei verändert die Position.
Nur wenn ich die ermittelten Werte, sprich die Variabeln vXPosition, vYPosition einsetze,
haben diese immer 0. Daher meine Annahme, das bei der Positions-Ermittlung schon was
nicht richtig laufen kann?? Aber was?
Gruß
Chris
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
caZpa
Account gelöscht


Ort: -

Verfasst Mi 29.06.2005 10:39
Titel

Antworten mit Zitat Zum Seitenanfang

werden die überhaupt in der VorschauRefresh() richtig ermittelt?
pack mal das alert da rein
 
chrikle
Threadersteller

Dabei seit: 02.05.2002
Ort: NRW
Alter: 47
Geschlecht: Männlich
Verfasst Mi 29.06.2005 10:45
Titel

Antworten mit Zitat Zum Seitenanfang

Jo, hab ich ja auch schon getestet.
Es wird immer nur eine 0 (NULL) ausgegeben.

Wobei ja auch 0 gleich false bedeuten kann?
Also vermute ich, das die Abfrage nach der Position
der Scrolleisten nicht passt/oder funktioniert?

Code:
function VorschauRefresh()
{

      if(IE == true)
      {
         var vXPosition = document.getElementById('VorschauFrame').scrollLeft; //hier passt was nicht???
         var vYPosition = document.getElementById('VorschauFrame').scrollTop; //dito
      }
      else
      {
         var vXPosition = document.getElementById('VorschauFrame').pageXOffset;
         var vYPosition = document.getElementById('VorschauFrame').pageYOffset;
      }      
      document.getElementById('VorschauFrame').src= iFrame_URI;
      alert("X: "+vXPosition+" Y:"+ vYPosition); // es kommt immer 0 raus, auch wenn ich im iFrame gescrollt habe
         
   
      parent.VorschauFrame.scrollTo(vXPosition, 50); //50 Pixel nach unten klappt wunderbar

}

Gruß
Chris


Zuletzt bearbeitet von chrikle am Mi 29.06.2005 10:50, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
caZpa
Account gelöscht


Ort: -

Verfasst Mi 29.06.2005 10:53
Titel

Antworten mit Zitat Zum Seitenanfang

hmmm...

versuch mal

var vXPosition = document.VorschauFrame.scrollLeft;

//edit
oder gleich
var vXPosition = parseInt(document.VorschauFrame.scrollLeft);


Zuletzt bearbeitet von am Mi 29.06.2005 10:55, insgesamt 1-mal bearbeitet
 
chrikle
Threadersteller

Dabei seit: 02.05.2002
Ort: NRW
Alter: 47
Geschlecht: Männlich
Verfasst Mi 29.06.2005 10:59
Titel

Antworten mit Zitat Zum Seitenanfang

caZpa hat geschrieben:
hmmm...

versuch mal

var vXPosition = document.VorschauFrame.scrollLeft;


es kommt undefined raus *Schnief*

caZpa hat geschrieben:
//edit
oder gleich
var vXPosition = parseInt(document.VorschauFrame.scrollLeft);

[/quote]
das wandelt den string (undefined) ja nur in 0 um. *Schnief*

Bei anderen Browser (browserweiche) ist übrigens das gleiche (undefined)

ich komm einfach nicht dahinter. wie ich die Eigenschaften des iframes korrekt auslesen kann.

Da muß doch irgendwas mit der Syntax nicht passen?

ich habs auch schonmal mit parent probiert - mit dem gleichen Ergebnis *Schnief*

*hu hu huu*
Gruß
Chris
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
caZpa
Account gelöscht


Ort: -

Verfasst Mi 29.06.2005 11:03
Titel

Antworten mit Zitat Zum Seitenanfang

aaaah!

var vXPosition = parseInt(document.VorschauFrame.body.scrollLeft);

nich heulen... versuchen! los! *zwinker*
 
 
Ähnliche Themen Höhe eines divs mit javascript bestimmen.
JavaScript: Position von BackgroundImages anpassen
[js] session mit javascript ändern
JavaScript - CSS - Klasse ändern
[javascript] div inhalt ändern - auf die andere art
Javascript img src ändern funktioniert nicht
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.