Archivlink: javarea.de Forum > JavaScript > Newbie hat Problem:
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > Newbie hat Problem:
Pages: [1]
| geschrieben von afterburner am 23.03.2007 - 21:16 |
Hallo Zusammen,
bin neu hier und hab ein kleines Problem mit einem Javascript. Ich kenne mich damit nicht aus (kann nur php) und stelle fest, dass folgendes Script seltsamerweise mit dem IE (7) hervorragend funktioniert und mit dem Firefox (2.0.0.2) nicht.
Vielleicht kann mir jemand helfen.
Es handelt sich dabei um ein Scrollscript, dh. der Inhalt eines Divs soll damit gescrollt werden. Bitte Hilfe! 
<style type="text/css">
#divContainer{position:absolute; width:781px; height:446px; overflow:hidden; top:30; left:10; clip:rect(0,781,446,0); visibility:hidden}
#divContent{position:absolute; top:0; left:0}
html,body {padding:0}
html {background-color:black;overflow-x:hidden}
body{
font-color: #333333;
font-family: Arial, Helvetica, sans-serif}
</style>
<script type="text/javascript">// begin absolutely positioned scrollable area object scripts
<!--
// begin absolutely positioned scrollable area object scripts
function verifyCompatibleBrowser(){
this.ver=navigator.appVersion
this.dom=document.getElementById?1:0
this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;
this.ie4=(document.all && !this.dom)?1:0;
this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
this.ns4=(document.layers && !this.dom)?1:0;
this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5)
return this
}
bw=new verifyCompatibleBrowser()
var speed=50
var loop, timer
function ConstructObject(obj,nest){
nest=(!nest) ? '':'document.'+nest+'.'
this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0;
this.css=bw.dom?document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+'document.'+obj):0;
this.scrollHeight=bw.ns4?this.css.document.height:this.el.offsetHeight
this.clipHeight=bw.ns4?this.css.clip.height:this.el.offsetHeight
this.up=MoveAreaUp;this.down=MoveAreaDown;
this.MoveArea=MoveArea; this.x; this.y;
this.obj = obj + "Object"
eval(this.obj + "=this")
return this
}
function MoveArea(x,y){
this.x=x;this.y=y
this.css.left=this.x
this.css.top=this.y
}
function MoveAreaDown(move){
if(this.y>-this.scrollHeight+objContainer.clipHeight){
this.MoveArea(0,this.y-move)
if(loop) setTimeout(this.obj+".down("+move+")",speed)
}
}
function MoveAreaUp(move){
if(this.y<0){
this.MoveArea(0,this.y-move)
if(loop) setTimeout(this.obj+".up("+move+")",speed)
}
}
function PerformScroll(speed){
if(initialised){
loop=true;
if(speed>0) objScroller.down(speed)
else objScroller.up(speed)
}
}
function CeaseScroll(){
loop=false
if(timer) clearTimeout(timer)
}
var initialised;
function InitialiseScrollableArea(){
objContainer=new ConstructObject('divContainer')
objScroller=new ConstructObject('divContent','divContainer')
objScroller.MoveArea(0,0)
objContainer.css.visibility='visible'
initialised=true;
}
// end absolutely positioned scrollable area object scripts
//-->
</script>
</head>
<body onload="InitialiseScrollableArea();">
<!-- begin absolutely positioned scrollable area object-->
<div id="divContainer">
<div id="divContent">
<?php
//Inhalt
?>
</div>
</div>
<!-- end absolutely positioned scrollable area object --> |
| geschrieben von afterburner am 24.03.2007 - 21:19 |
Kann mir jemand helfen bitte...  |
| geschrieben von Micha am 24.03.2007 - 21:24 |
Hi,
| Zitat | | | Original geschrieben von afterburner am 24.03.2007 - 21:19
Kann mir jemand helfen bitte...  |
es können sicher viele. Aber erstens hat keiner Bock sich den ganzen Code anzusehen und zweitens ist "geht nicht" eine verdammt schlechte Fehlerbeschreibung.
Was kannst Du tun?
Zunächst mal eine Beispielseite hochladen, die kannst Du, wenn das Problem gelöst ist, auch gern wieder entfernen.
Danach wäre es vll mal interessant, in die Fehlerkonsole eines Browsers zu schauen und die dortige Fehlermeldung zu analysieren.
Und zu guter letzt wäre es schön, wenn Du aus dem Script den Fehler berits irgendwie eingrenzen könntest, es kann ja unmöglich in jeder Deiner Zeilen ein fehler stecken - so Tolerant ist selbst der IE nicht.
LG Micha |
|