Vertical Scroller - Startposition der Bilder?

Einen wunderschönen guten Tag zusammen :wink:

Ich hätte da mal wieder ein Problem…

Ich habe mir den Code für einen vertikalen Scroller zusammen"geklaut".
Alles läuft wunderbar, ABER: ich möchte, dass die Bilder nicht vom unteren Rand des Div’s starten, sondern ich stelle mir das so vor, dass die Bilder schon sichtbar/geladen sind, und nach dem onload von dieser Position aus starten.

Dann habe ich noch eine Frage: Der Scroller läuft ja komplett durch (also so lange bis alle Bilder durchgelaufen sind… dann startet er erst wieder von vorne…) Gibt es eine Möglichkeit, dass der Scroller permanent oder mit einer nur kleinen Verzögerung sich an den vorhergehenden Bilderfluss anschließt??

Vielen Dank schonmal im Voraus

Grüße

Midir

==========================angehängter Code=================================

Unbenanntes Dokument
<!–
#apDiv90_1 {position:absolute;width:524px;height:2733px;z-index:10;}
#apDiv90_2 {position:absolute;width:524px;height:2733px;z-index:2;}
–>

//<![CDATA[

<!–

function scrollerObj(name,initH,initW,heightB,widthB,content,initBg,Bg,speed,initFl){

//**data**//
this.name=name;
this.initH=initH;
this.initW=initW;
this.heightB=heightB;
this.widthB=widthB;
this.content=content;
this.initBg=initBg;
this.Bg=Bg;
this.iniFl=initFl;
this.speed=parseInt(speed);
this.timer = name + „Timer“;
this.elem;

//**methods**//
this.getElement = getElement;
this.createLayer=createLayer;
this.scrollLayer = scrollLayer;
this.scrollLoop=scrollLoop;

//**initiate methods**//
this.createLayer();
this.getElement();
this.scrollLayer();
}

//**call this method to stop scrolling**//
function scrollLoop(s){
this.speed = s;
}

//**pretty obvious**//
function scrollLayer(){
// if(parseInt(this.elem.style.top)>(this.elem.offsetHeight*(-1))){
if(parseInt(this.elem.style.top)>(this.elem.offsetHeight*(-1))){
this.elem.style.top = parseInt(this.elem.style.top)-this.speed;
//alert(parseInt(this.elem.style.top)+"\n"+this.elem.id);
}
else {this.elem.style.top = this.initH;}
}

//**get the specific dom-expression**//
function getElement(){
if(document.getElementById){
this.elem = document.getElementById(this.name);
}
else if (document.all){
this.elem = document.all[name];
}
else if (document.layers){
this.elem = document.layers[name];
}
}

//**pretty obvious - if NS4 - please upgrade to a standard compliant browser**//
function createLayer(){
if(document.getElementById || document.all){
document.write(’<div id=„layer’+this.name+’“ style=„position:relative;overflow:hidden;float:’+this.initFl+’;background-color:#’+this.initBg+’;border:0px solid black;width:’+this.initW+‚px;height:‘+this.initH+'px;“ onMouseover="’+this.name+’.scrollLoop(0)" onMouseout="’+this.name+’.scrollLoop(’+this.speed+’)">’);
document.write(’<div id="’+this.name+’" style=„position:absolute;top:’+this.initH+‚px;left:0px;border:0px solid black;width:‘+this.widthB+‚px;height:‘+this.heightB+‚px;background-color:#‘+this.Bg+’“>’);
document.write(this.content);
document.write(’</div></div>’);}
else if(document.layers){
document.write(’<ilayer name="’+this.name+’" bgcolor="#’+this.Bg+’" width="’+this.widthB+’" height="’+this.heightB+’">’+this.content+’</ilayer>’);
return;
}
if(this.scrollLayer){
this.timer = setInterval(this.name+’.scrollLayer()’,‚30‘);
}
}
//–>
//]]>

//<![CDATA[
<!–
var c = new scrollerObj(‚c‘,‚2733‘,‚520‘,‚2733‘,‚520‘,’<br><b><big>D</big></b>ieser Vertikale Newsscroller bleibt beim drüberfahren mit der Maus stehen.<br><img src=„1.jpg“ border=„0“><br><img src=„2.jpg“ border=„0“><br><img src=„3.jpg“ border=„0“><br> <img src=„4.jpg“ border=„0“><br><img src=„5.jpg“ border=„0“><br>’,’’,’’,‚2‘,‚center‘);
//–>
//]]>

Hallo Midir,

ich hätte da mal wieder ein Problem…

kann ich verstehen :smile:
bevor ich mich da durchwühle …
mal was einfaches:


#bilder{width:100px;height:100px;overflow:hidden}
img{height:98px}
img,div{margin:0px;padding:0px;border:0}




var Scrolling=true;
move();

function move(){
var elem=document.getElementById(‚bilder‘)
var scroll=elem.scrollTop;

if (Scrolling){
if(scroll < elem.scrollHeight-elem.offsetHeight-1) {
scroll++;
elem.scrollTop=scroll;
setTimeout(‚move()‘,50);
}

else{
scroll=0;
elem.scrollTop=scroll;
setTimeout(‚move()‘,50);
}
}
else{
setTimeout(‚move()‘,50);
}

}

der „Trick“: das letzte image ist das 1. image und wenn die scrollhöhe bis auf 1 pixel an die Höhe des Div gestiegen ist, wird der scroll-wert wieder auf 0 gesetzt = wieder zum 1. image gescrollt

Gruß
Klaus

Vielen vielen Dank!
Hallo Klaus,

es klappt wunderbar!

Danke Dir!

Grüße

Midir

Hallo Midir,

gern geschehen.

Falls Du Fragen hast, wie das an die Dimensionen des „geklauten“ Scripts angepasst werden kann … immer her damit :smile:)

Gruß
Klaus