controlling an overflow scroll bar

Discussion in 'Javascript' started by petermichaux@yahoo.com, Mar 11, 2006.

  1. Guest

    Hi,

    Is it possible to use JavaScript to control how far down an overflowing
    div is scrolled? The situation might be like the following.

    <div style="overflow:scroll; height:3em;">
    <p>One</p>
    <p>Two</p>
    <p>Three</p>
    <p>Four</p>
    <p>Five</p>
    <p>Six</p>
    </div>

    Thanks,
    Peter
    , Mar 11, 2006
    #1
    1. Advertising

  2. wrote:
    > Hi,
    >
    > Is it possible to use JavaScript to control how far down an overflowing
    > div is scrolled? The situation might be like the following.
    >
    > <div style="overflow:scroll; height:3em;">
    > <p>One</p>
    > <p>Two</p>
    > <p>Three</p>
    > <p>Four</p>
    > <p>Five</p>
    > <p>Six</p>
    > </div>
    >
    > Thanks,
    > Peter
    >


    You can set the scrollTop property of the div. You'll need to identify
    the div with an id, so that you can access it.
    TheBagbournes, Mar 11, 2006
    #2
    1. Advertising

  3. Guest

    > You can set the scrollTop property of the div.

    This works in all browsers? My 2002 book implies only in IE.

    Thanks,
    Peter
    , Mar 11, 2006
    #3
  4. Guest

    It seems to be working in Safari and Firefox.

    The math seems strange. I can't seem to do things like

    document.findElementById("of").scrollTop = "50%"
    document.findElementById("of").scrollTop =
    document.findElementById("of").scrollHeight/2

    Any way to control by percentage?

    Thanks,
    Peter
    , Mar 11, 2006
    #4
  5. Randy Webb Guest

    said the following on 3/11/2006 12:42 PM:
    > It seems to be working in Safari and Firefox.
    >
    > The math seems strange. I can't seem to do things like
    >
    > document.findElementById("of").scrollTop = "50%"
    > document.findElementById("of").scrollTop =
    > document.findElementById("of").scrollHeight/2
    >
    > Any way to control by percentage?


    Try turning error reporting on and use getElementById or do you have
    findElementById defined somewhere?

    --
    Randy
    comp.lang.javascript FAQ - http://jibbering.com/faq & newsgroup weekly
    Javascript Best Practices - http://www.JavascriptToolbox.com/bestpractices/
    Randy Webb, Mar 11, 2006
    #5
  6. Guest

    oops, sorry, I meant getElementById. Switching from Rails to JavaScript
    can cause me some grief. Anyway I tried the example with
    getElementById. I can do this

    e = document.getElementById("of");
    e.scrollTop = e.scrollHeight;

    but actually that is way overkill. The scrollHeight is a number much
    larger than necessary to scroll all the way to the bottom.

    Any ideas about percentage control or something like it?

    Thanks,
    Peter
    , Mar 11, 2006
    #6
  7. wrote:
    > oops, sorry, I meant getElementById. Switching from Rails to JavaScript
    > can cause me some grief. Anyway I tried the example with
    > getElementById. I can do this
    >
    > e = document.getElementById("of");
    > e.scrollTop = e.scrollHeight;
    >
    > but actually that is way overkill. The scrollHeight is a number much
    > larger than necessary to scroll all the way to the bottom.
    >
    > Any ideas about percentage control or something like it?


    It's a pixel value, nothing like the CSS style values that take %ages.
    You'll have to do the %age calculations yourself using scrollTop,
    scrollHeight and clientHeight.
    TheBagbournes, Mar 11, 2006
    #7
  8. wrote:

    > Is it possible to use JavaScript to control how far down an overflowing
    > div is scrolled? The situation might be like the following.


    Yes. But if there was no client-side script support it would not work, so
    you should try a different approach first. One may be to tell what your
    problem is in the first place instead of asking how something can be done
    that you think is the solution to the problem.


    PointedEars
    Thomas 'PointedEars' Lahn, Mar 12, 2006
    #8
  9. Guest

    It's for drag and drop. I'm want to make a dragged item automatically
    scroll down an overflowing div.

    Are there situations where JavaScript is available but when the
    suggested solutions would not be supported?

    Peter
    , Mar 12, 2006
    #9
  10. wrote:
    > It's for drag and drop. I'm want to make a dragged item automatically
    > scroll down an overflowing div.
    >
    > Are there situations where JavaScript is available but when the
    > suggested solutions would not be supported?


    You should use the Yahoo UI to do that. It handles auto scrolling during
    a drag operation.

    http://developer.yahoo.net/yui/
    TheBagbournes, Mar 12, 2006
    #10
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. George
    Replies:
    4
    Views:
    482
    George
    Feb 13, 2004
  2. Matt
    Replies:
    0
    Views:
    3,525
  3. John Hann
    Replies:
    0
    Views:
    6,042
    John Hann
    Aug 21, 2004
  4. Matt
    Replies:
    9
    Views:
    70,765
  5. Matt
    Replies:
    9
    Views:
    527
    kaeli
    Aug 23, 2004
Loading...

Share This Page