javascript
madstop
- javascript
hi
brauche dringend hilfe bei einem javascript das script soll einen layer von links nach rechts scrollen und am ende anhalten ! ich hatte ein script was diesen layer von oben nach unten scrollen lies dieses habe ich mit meinen noch sehr geringen javascript faehigkeiten soweit gemeistert das er es im ie und in opera geklappt hat ..doch zu meinem entsetzen funktionierte es nicht im mozilla.es passeirt gar nichts nur ein kurzes zucken des layers! :( ich habe mega zeitdruck(wieder mal auf den letzen druecker) und kann den fehler einfach nich finden bin fuer jede hilfe dankbar waere froh wenn mal einer einen blick uebers script werfen koennte. danke madstop
<script language="JavaScript">// 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.scrollWidth=bw.ns4?this.css.document.Width:this.el.offsetWidth
this.clipWidth=bw.ns4?this.css.clip.Width:this.el.offsetWidth
this.left=MoveAreaUp;this.right=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.y
this.css.right=this.x
}
function MoveAreaDown(move){
if(this.x>-this.scrollWidth+objContainer.clipWidth){
this.MoveArea(this.x-move,this.y-move)
if(loop) setTimeout(this.obj+".right("+move+")",speed)
}
}
function MoveAreaUp(move){
if(this.y<2){
this.MoveArea(this.x-move,this.y-move)
if(loop) setTimeout(this.obj+".left("+move+")",speed)
}
}
function PerformScroll(speed){
if(initialised){
loop=true;
if(speed>0) objScroller.right(speed)
else objScroller.left(speed)
}
}
function CeaseScroll(){
loop=false
if(timer) clearTimeout(timer)
}
var initialised;
function InitialiseScrollableArea(){
objContainer=new ConstructObject('divContainerS')
objScroller=new ConstructObject('divContentS','divContainerS')
objScroller.MoveArea(0,0)
objContainer.css.visibility='visible'
initialised=true;
}
</script>
hi
Hallo!
und kann den fehler einfach nich finden bin fuer jede hilfe dankbar waere froh wenn mal einer einen blick uebers script werfen koennte. danke madstop
Ich hab da reichlich viele gefunden:
<script language="JavaScript">// begin absolutely positioned scrollable area object scripts
das heisst: <script type="text/javascript">
function verifyCompatibleBrowser(){
this.ver=navigator.appVersion
Semikolon
this.dom=document.getElementById?1:0
Semikolon
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)
Semikolon
return this
Semikolon
}
bw=new verifyCompatibleBrowser()
var speed=50
Semikolon
var loop, timer
Semikolon
function ConstructObject(obj,nest){
nest=(!nest) ? '':'document.'+nest+'.'
Semikolon
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.scrollWidth=bw.ns4?this.css.document.Width:this.el.offsetWidth
this.clipWidth=bw.ns4?this.css.clip.Width:this.el.offsetWidth
this.left=MoveAreaUp;this.right=MoveAreaDown;
this.MoveArea=MoveArea; this.x; this.y;
this.obj = obj + "Object"
Semikolon
eval(this.obj + "=this")
Semikolon
return this
Semikolon
}
function MoveArea(x,y){
this.x=x;this.y=y
Semikolon
this.css.left=this.y
this.css.right=this.x
}
function MoveAreaDown(move){
if(this.x>-this.scrollWidth+objContainer.clipWidth){
this.MoveArea(this.x-move,this.y-move)
Semikolon
if(loop) setTimeout(this.obj+".right("+move+")",speed)
}
}
function MoveAreaUp(move){
if(this.y<2){
this.MoveArea(this.x-move,this.y-move)if(loop) setTimeout(this.obj+".left("+move+")",speed)
}
}
function PerformScroll(speed){
if(initialised){
loop=true;
if(speed>0) objScroller.right(speed)
Semikolon
else objScroller.left(speed)
Semikolon
}
}
function CeaseScroll(){
loop=false
Semikolon
if(timer) clearTimeout(timer)
}
var initialised;
function InitialiseScrollableArea(){
objContainer=new ConstructObject('divContainerS')
Semikolon
objScroller=new ConstructObject('divContentS','divContainerS')
Semikolon
objScroller.MoveArea(0,0)
Semikolon
objContainer.css.visibility='visible'
Semikolon
initialised=true;
}
</script>
Ausserdem kommen mir die if-Bedingungen mit folgendem "}" komisch vor.
Desweiteren finde ich so ein Riesen-Script für so eine "einfache" Funktion etwas übertrieben. Nimm einfach eine Funktion bewegen(), die sich am Ende mit setTimeOut(bewegen()); wieder aufruft.
Die "Scroll-Position" veränderst du mit http://selfhtml.teamone.de/javascript/objekte/window.htm#scroll_to
Probier es mal, schreib dann, was du gebastelt hast und dann helfen wir weiter. (aber bitte nicht wieder einen Code mit so vielen Syntax-Fehlern!)
Gruß
mdkiller
P.S.: Nimm mal nen vernünftigen Titel.
hi danke erstmal fuer die schnell hilfe nun habe ich mich aber entschieden aufgrund massiever zeitgruende eine version ohne javascript zu basteln ud mir das schwere fuer spaeter aufzuheben :) ...... mfg madstop