Okay, ich verstehe dein Dilemma. Habe das Script ja selbst geschrieben und hatte bei javascript Code:
- if ( (intSpd>0) ? (top<0) : (top>parseInt(objScrll.parentNode.style.height)-objScrll.offsetHeight) )
Bei meinem eigenen Script nen Verständnissholperer. Da kann ich mir denken, wie du dich gefühlt hast. Bei diesem speziellen Javascript kommen mehr obskure Sachen auf ängstem Raum vor, als in einem Richard Ravens Roman.
Darum erkläre ich dir erstmal die allgemeine Vorgehensweise für dein Problem:
Du brauchst zwei Layer. Einer enthält deiner Bilder, einer ist eine Art Ramen. Der Ramen verhindert, dass die Bilder außerhalb mit angzeigt werden. In meine Script wäre das hier die Entsprechung:
HTML:
<div style="position:relative; overflow:hidden; height:120px; width:128px;">
<div id="content" style="position: absolute; width: 117px; padding: 5px; left: 0; top: 0;">
Bla<br />bla<br />bla<br />bla<br />bla<br />bla<br />bla<br />bla<br />
bla<br />bla<br />bla<br />bla<br />bla<br />bla<br />bla<br />bla<br />
bla<br />bla<br />bla<br />bla<br />bla<br />bla<br />bla<br />bla<br />
</div>
</div>
So jetzt willst du den Layer mit dem Inhalt in dem Ramen-Layer bewegen. Dafür müsst du in erstmal ansprechen. Das geht im normalfall am besten über die Funktion
getElementById(). Für das ansprechen ist dieser Teil hier zuständig:
Javascript:
if ( objScrll=document.getElementById(strId) ) {
....
}
Hier wird geprüft ob ein Element mit der id, die in der Variablen "strId" gespeichert ist existiert und das ensprechende Element gleich der Variable "objScrll" zugewiesen. Daher die Zuweisung im if. Könnte dir vielleicht erste Probleme gemacht haben, ist aber ein gängie Sache.
So, jetzt hast du den Layer mit dem Inhalt also angesprochen und kannst unanständige Sachen mit machen. Du willst ihn hin und her bewegen. Das geht indem du seiner Eigenschaft
style.left (in meinem Script ist es style.top, aber du willst ja horizontal und nicht vertikal scrollen) etwas zuaddierst oder etwas abziehst. Das wäre dann diese Zeile in meinem Skript:
Javascript:
objScrll.style.top = (top + intSpd) +"px";
Die Variable "intSpd" enthält dabei die Scrollgeschwindigkeit, also wie viel hinzu addiert werden soll. Bei dir muss das einfach die alte Mausposition minus der neuen mal einen Korrekturfactor kleiner eins sein damit der Layer nicht ultraschnell wird.
Das ist so etwa die Grundidee. Du musst dich dann noch mit if-Anweisungen rumschlagen, damit es nicht weiterscrollt, wenn der Layer mit dem Inhalt eigentlich schon außer sicht ist.