Archivlink: javarea.de Forum > JavaScript > Scrollen funktioniert in Firefox nicht
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > Scrollen funktioniert in Firefox nicht

Pages: [1]

geschrieben von Fuechsl am 18.04.2006 - 12:40
Hallo zusammen,

Ich habe ein Script für das Scrollen von Texten in einem div von dieser Homepage an meine Bedürfnisse leicht angepasst. Das Original steht hier: http://www.javarea.de/index.php3?op....amp;id=314

Nun habe ich das Problem, dass das mein Script im ie6 ohne Probleme läuft, im Firefox allerdings nicht!

Mit ein paar Alertboxen konnte ich den Fehlerort lokalisieren, aber ich weiss nicht, was ich ändern muss, wo das Problem genau liegt. Das Originalscript (siehe link oben) läuft komischerweise...

Vielleicht kann mir jemand von euch schnell eine Tipp geben?

Hier noch mein Code; das Problem liegt in der Zeile zwischen den beiden "alerts".

HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53: 
54: 
55: 
56: 
57: 
58: 
59: 
60: 
61: 
62: 
63: 
64: 
65: 
66: 
67: 
68: 
69: 
70: 
71: 
72: 
73: 
74: 
75: 
76: 
77: 
78: 
79: 
80: 
81: 
82: 
83: 
84: 
85: 
<!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>
<link href="testmain.css" rel="stylesheet" type="text/css" />
</head>

<body>
  <div id="Content">
	<a href="#" onmouseover="loop=true; RepertoireObj.up(1);window.status='';return true;" onmouseout="loop=false">nach unten</a>
	<a href="#" onmouseover="loop=true; RepertoireObj.down(1);window.status='';return true;" onmouseout="loop=false">nach oben</a>
	<br />
	<script type="text/javascript">
	/* <![CDATA[ */
		function init()
		{
			if(navigator.appName=="Netscape")
			  { var w=innerWidth;
					document.Repertoire.left=200;
				}
			else
			  { var w=document.body.offsetWidth;
				  Repertoire.style.left=200;
				}
		}
		
		var n = (document.layers) ? 1:0;
		var ie = (document.all) ? 1:0;
		var loop, timer1, timer2;
		
		function makeObj(obj,nest)
		{
			nest=(!nest) ? '':'document.'+nest+'.';
		  alert("hallo 1");
			this.css=(n) ? eval(nest+'document.'+obj):eval(obj+'.style');
		  alert("hallo 2");
			this.up=goUp;
			this.down=goDown;
			this.obj = obj + "Object";
			eval(this.obj + "=this");
			return this;
		}
		function goDown(speed)
		{
			clearTimeout(timer1);
			clearTimeout(timer2);
			if(isNaN(parseInt(this.css.top))) { this.css.top=0; }
			this.css.top=parseInt(this.css.top)+3; 
			if(loop) timer1=setTimeout(this.obj+".down("+speed+")",speed);
		}
		function goUp(speed)
		{
			clearTimeout(timer2);
			clearTimeout(timer1);
			if(isNaN(parseInt(this.css.top))) { this.css.top=0; }
			this.css.top=parseInt(this.css.top)-3; 
			if(loop) timer2=setTimeout(this.obj+".up("+speed+")",speed);
		}
		function init1()
		{ 
			RepertoireObj=makeObj('RepertoireScroll','Repertoire');
		  init();
		}

		onload=init1;
	/* ]]> */
	</script>

	<div id="Repertoire">
	  <div id="RepertoireScroll">
	    <p>Hier ist der Text den Sie scrollen können ..... <br><br>
	      Klaus Hentschel´s Java Scripte Seiten..... <br><br>
	      sind einfach klasse . <br><br>
	      Hier finden Sie Scripte die Sie sicherlich..... <br><br>
	      gebrauchen können . <br><br>
	      Also viel Spaß beim surfen wünscht ihnen ...... <br><br>
	      <font color="red"><b>das Team !!</font> </b><br><br>
	      </p>
		  </div>
	  </div>

  </div>
</body>
</html>

Und das zugehörige CSS:
HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
html, body {
	height:100%;
	background-color:#000000;
}

body {
	margin: 0px;
	padding: 0;
	background-color:#000000;
}

a:link, a:visited, a:hover {
	text-decoration: none;
}


#Content {
	margin:0;
	margin-top: 8px;
	width: 604px;
	height: 485px;
	border:1px solid #FF9933;
	font-size: 14px;
	color: #CCCCCC;
	padding: 8px;
	list-style: none;
}

#Repertoire {
  width: 100%;
	height: 357px;
  margin:0;
	margin-bottom:4px;
	clip: rect(0px 100% 360px 0px);
	position: absolute;
}

#RepertoireScroll {
  width: 100%;
  margin:0;
  position: relative;
	top: 0;
	text-align:left;
}

Der Link zu meinem Test-Html: http://www.besharp.ch/new/scrolltest.html

Vielen Dank im Voraus, mit freundlichem Gruss

Martin

geschrieben von weisnix am 19.04.2006 - 20:40
Also bei mir geht die Demo mit dem FF. nur dort wo „nach unten“ steht geht es geht es nach oben, und am anderen Link auch entgegen gesetzt.

geschrieben von Micha am 19.04.2006 - 20:51
Hallo,

ich kann das in meinem FF 1.5.0.2 bestätigen. Besagter Browser zeigt aber in der JS-Konsole folgende Fehler:
Zitat
 Fehler: Fehler beim Verarbeiten des Wertes für Eigenschaft 'clip'. Deklaration ignoriert.
Quelldatei: http://www.besharp.ch/new/testmain.css
Zeile: 34


und (die wohl interessantere für Dich):

Zitat
 Fehler: Repertoire is not defined
Quelldatei: http://www.besharp.ch/new/scrolltest.html
Zeile: 24


Mit Opera 8.54 funktioniert es auch (entgegengesetzt).

Micha

geschrieben von Fuechsl am 20.04.2006 - 00:48
Naja, was auch immer krumm war... ich konnte durch ein paar Anpassungen im Code (vor allem bei den Zuweisungen zu .top noch +"px" anhängen) das Ding zum Laufen bringen. Vielen Dank auf jeden Fall für euer Mitdenken und eure Hilfe!

Gruss, Martin

Ps. Wenn jemand den lauffähigen Code möchte, kann er mir ein Mail schicken, ich glaub es lohnt sich nicht, nochmals alles hier aufzulisten. fuechsl at gmx.ch.


Powered by: JBB v.2.0.4 Copyright ©2000-2006, www.javarea.de.