Kalle_B: scrollTo für ein div

Hallöle,

ich habe ein div, 100% Fensterbreite. Innerhalb des div eine Tabelle mit vielen Fotos in einer Zeile. Also kann der div-Inhalt horizontal scrollen.

<div name=img_div style='width:100%; overflow-x:auto'>  
<table id=img_table ><tr>  
<td><img class=lin src='fotos_2009/0471_150.jpg' alt='' onClick="ladeBild('0471_500.jpg','Balkon, Zugang zu den Zimmern');aenFarbe(this)"></td>  
...  
</tr></table>  
</div>

Wenn ich nun auf ein Foto klicke, soll dieses Foto in die Mitte des windows gescrollt werden, das heißt, ich muss dem div nun sagen, dass er horizontal scrollen soll.

Aber wie wird der div angesprochen?

window.img_div.scrollTo( 100, 0 );

geht nicht, auch nicht bei id=img_div statt name=img_div

Bei SelfHTML wurde ich nicht fündig:
http://de.selfhtml.org/javascript/objekte/window.htm#scroll_to
da kann immer nur das gesamte window gesrollt werden. Aber es müssen doch auch Elemente mit Scrollbalken per Javascript scrollbar sein.

Wie geht es?

LG Kalle

  1. Hi,

    Aber wie wird der div angesprochen?

    Also ich würde es mit getElementById oder wenn du über den Namen zugreifen willst mit getElementsByName ansprechen.

    window.img_div.scrollTo( 100, 0 );

    geht nicht, auch nicht bei id=img_div statt name=img_div

    Bekommst du eine Fehlermeldung angezeigt? Oder was genau bedeutet geht nicht?

    mfG,
    steckl

    1. Bekommst du eine Fehlermeldung angezeigt? Oder was genau bedeutet geht nicht?

      Fehlermeldung in Opeera ist TypeError - uns sie (die Opera) scrollt nicht.

      Kalle

  2. Hallo,

    ich habe ein div, 100% Fensterbreite. Innerhalb des div eine Tabelle mit vielen Fotos in einer Zeile. Also kann der div-Inhalt horizontal scrollen.
    Wenn ich nun auf ein Foto klicke, soll dieses Foto in die Mitte des windows gescrollt werden, das heißt, ich muss dem div nun sagen, dass er horizontal scrollen soll.

    Aber wie wird der div angesprochen?
    Wie geht es?

      
      var myScrollDiv = document.getElementById("scrolldivID");  
      myScrollDiv.scrollLeft = 100;  
    
    

    Zu element.scrollLeft:
    https://developer.mozilla.org/en/DOM/element.scrollLeft
    http://msdn.microsoft.com/en-us/library/ms534617(VS.85).aspx
    Im Opera funktioniert es auch.
    Weitere habe ich nicht getestet.

    viele Grüße

    Axel

    1. var myScrollDiv = document.getElementById("scrolldivID");
        myScrollDiv.scrollLeft = 100;

        
      Danke, das klappt.  
        
      LG Kalle