rusty: Automatisch im "content frame" scrollen!

Hallo liebe Leutz,

also ich hab' folgendes Problem:
zu Präsentationszwecken soll eine Homepage automatisch vertikel gescrollt werden. Nun habe ich das soweit fertig,
ABER:
Das ganze funtioniert nur über ein Fenster, nicht aber über ein Frameset, was mache ich nur falsch - bin echt am verzweifeln

P.S.: das ganze soll nur für den IE laufen
P.P.S.: (sourcecode..)
function scrollY()
{
  parent.display.scrollBy(0,1);
  setTimeout...
}

  1. hi

    <div id="staticbuttons" style="position:absolute;">
    <a href="javascript:" onmouseover="myspeed=-thespeed" onmouseout="myspeed=0"><img
    src="images/arrows_up.gif" border="0"></a><br>
    <a href="javascript:" onmouseover="myspeed=thespeed" onmouseout="myspeed=0"><img
    src="images/arrows_dn.gif" border="0"></a>
    </div>

    <script>

    //Page Scroller (aka custom scrollbar)- By Dynamic Drive
    //For full source code and more DHTML scripts, visit http://www.dynamicdrive.com
    //This credit MUST stay intact for use

    var Hoffset=70 //Enter buttons' offset from right edge of window (adjust depending on images width)
    var Voffset=80 //Enter buttons' offset from bottom edge of window (adjust depending on images height)
    var thespeed=3 //Enter scroll speed in integer (Advised: 1-3)

    var ieNOTopera=document.all&&navigator.userAgent.indexOf("Opera")==-1
    var myspeed=0

    var ieHoffset_extra=document.all? 15 : 0
    var cross_obj=document.all? document.all.staticbuttons : document.getElementById? document.getElementById("staticbuttons") : document.staticbuttons

    function positionit(){
    var dsocleft=document.all? document.body.scrollLeft : pageXOffset
    var dsoctop=document.all? document.body.scrollTop : pageYOffset
    var window_width=ieNOTopera? document.body.clientWidth+ieHoffset_extra : window.innerWidth+ieHoffset_extra
    var window_height=ieNOTopera? document.body.clientHeight : window.innerHeight

    if (document.all||document.getElementById){
    cross_obj.style.left=parseInt(dsocleft)+parseInt(window_width)-Hoffset
    cross_obj.style.top=dsoctop+parseInt(window_height)-Voffset
    }
    else if (document.layers){
    cross_obj.left=dsocleft+window_width-Hoffset
    cross_obj.top=dsoctop+window_height-Voffset
    }
    }

    function scrollwindow(){
    window.scrollBy(0,myspeed)
    }

    function initializeIT(){
    positionit()
    if (myspeed!=0){
    scrollwindow()
    }
    }

    if (document.all||document.getElementById||document.layers)
    setInterval("initializeIT()",20)

    </script>

    vielleicht hilft dir das weiter.

    und das runterscrollen kannste ja mit onload machen statt mit onmouseover wies oben drin is...

    1. Na ja - is leider nicht ganz das was ich suche - aber trotzdem danke für die schnelle Antwort.

  2. Hallo Rusty,

    Das ganze funtioniert nur über ein Fenster, nicht aber über ein Frameset, was mache ich nur falsch - bin echt am verzweifeln

    Wie kann man denn ein Frameset scrollen? Framesets sind doch eigentlich immer genauso groß wie der client-Bereich des Browserfensters. Es sei denn, du verwendest iframes, aber dann sollte das genauso funktionieren wie in einem Fenster.

    P.P.S.: (sourcecode..)
    function scrollY()
    {
      parent.display.scrollBy(0,1);

    Was ist "display"? Ist das ein Framename? Dann versuch mal, den Frame umzunennen, vielleicht ist der Bezeichner "display" schon für irgendwas reserviert.

    setTimeout...

    Mit setInterval geht's IMHO einfacher und eleganter. Aber das kannst du dann ja selber entscheiden.

    Viel Erfolg,
    Robert

    1. Ja vielen Dank - display ist der Name des Frames - da ich aber in diesen Frame auch Seiten laden kann müsste das mit dem Namen eigentlich funktionieren - tuts aber nicht.

  3. Na ja, danke - hat mir leider nicht weitergeholfen.