最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - vertical scroll bar not working when using window xp theme (not classic) - Stack Overflow

programmeradmin1浏览0评论

This may sound crazy, and i didnt believe it until i saw it for myself.

The vertical scroll bar does not scroll when you click in the space between the scroller or the arrows. You have to drag the bar to get it to scroll. This only happens in the ugly default theme (not windows classic).

The scroll bar has some heavy javascript behind it that drive scrolling of another DIV on the page.

Has anyone even encountered this before? Why the heck does the theme influence IE's rendering?! Only IE!

edit: this problem happens when you are in "non-classic" XP theme (the default ugly one). switching themes does not cause this, but it does fix it if you switch to classic from the default.

This may sound crazy, and i didnt believe it until i saw it for myself.

The vertical scroll bar does not scroll when you click in the space between the scroller or the arrows. You have to drag the bar to get it to scroll. This only happens in the ugly default theme (not windows classic).

The scroll bar has some heavy javascript behind it that drive scrolling of another DIV on the page.

Has anyone even encountered this before? Why the heck does the theme influence IE's rendering?! Only IE!

edit: this problem happens when you are in "non-classic" XP theme (the default ugly one). switching themes does not cause this, but it does fix it if you switch to classic from the default.

Share Improve this question edited Jun 22, 2009 at 16:57 mkoryak asked Jun 8, 2009 at 22:42 mkoryakmkoryak 58k64 gold badges203 silver badges262 bronze badges 7
  • why do you want to close this. This is really happening to me. Ill post an answer after i fix it, but lets keep it open in case some one else has seen this before – mkoryak Commented Jun 9, 2009 at 13:08
  • Thins seems like a windows issue more than anything. Changing themes is breaking IE. This doesn't shock me. I am not sure this can be fixed at the browser level...? Or am I missing something? How often are people going to be changing their themes with IE open and on your page? – Jack Commented Jun 9, 2009 at 16:35
  • 3 Show the page? Let some people actually see first hand what's happening, or if it's just you. – Ian Elliott Commented Jun 16, 2009 at 14:37
  • 1 I cant show the page, Its on a page i am making for work, but the QA people where all able to reproduce the defect. Ill try to make a a dumbed down version that i can publicly show as i try to solve it. – mkoryak Commented Jun 16, 2009 at 15:42
  • 1 Could you attach screenshots? – Anirudh Commented Jun 16, 2009 at 15:44
 |  Show 2 more ments

4 Answers 4

Reset to default 3 +150

Does it help when you add

<!--[if IE]><meta http-equiv="MSThemeCompatible" content="no"><![endif]-->

to your page source? It worked well to work around glitches in IE when a non-classic theme is enabled for me. Note that the conditional ments are there so that firefox does not parse the tag (because it will screw up scrollbars in firefox sometimes).

I just had the same problem with vertical scrollbar in IE7 within the XP theme. After many experiments, I finally found the solution to it. I don't know this solution fits your case.

The container (div#scroll in the example below) with the rendered scrollbars must be larger than 18px. Any number below that will cause the vertical bar disabled.

<div id="scroll">
     <div id="fill">
     </div>
</div>

The stylesheet, for example:

#fill{
    width: 1px;
    height: 1000px;
}

#scroll {
    width: 18px; /* This has to be larger than or equal to 18. */
    height: 50px;
    overflow-y: scroll;
}

Thanks, Grace

In order to avoid certain Windows restrictions, IE re-implements almost all the controls visible on a web page.

The Old New Thing : Windowless controls are not magic

<excerpt>

The Internet Explorer team went and reimplemented all of the controls that a web page would need. They have their own windowless checkbox control, a windowless listbox control, a windowless edit box, and so on. In addition to reproducing all the functionality of the windowed controls, the Internet Explorer folks also had to reproduce the "look" of the windowed controls, down to the last pixel. (Functions like DrawThemeBackground and DrawFrameControl prove extremely helpful here.)

If I recall correctly, the only element that is still windowed is the <SELECT> element.

If you squint, you can see some places where they didn't quite nail it. For example, if you right-click in a text box, options like "Right to left reading order" and "Insert Unicode control character" are missing. As another example, notice that IE's scroll bars do not light up when you hover over them.

</excerpt>

Without seeing the code implementing your page, I would guess that this is another manifestation of "IE's controls don't act native".

If you have a support contract with Microsoft, I'd suggest plaining to them through that channel; if not, see if you get any responses in the microsoft.public.internetexplorer.general newsgroup. Back in IE6, they broke the scrollbar with KB824145 and fixed it with KB832894, so it's not like theses sorts of problems haven't happened and been resolved before.

First, I'll start saying that IE is a terrible browser and in some cases you don't have control over issues while developing a web application.

In that case I haven't encounter such an issue and a Google search don't pull anything on the subject. I'd say it must be something in your code that lead to a weird bug. Most likely it won't break in a lot of systems, so unless it's a very important application (sales, government...) you could leave it that way.

Look at it that way: who change the style of windows to classic? Geeks. And do geeks use IE? No. ^^ ... Joking, but not really.

If it's important I'll need to take a look at your actual code for "The scroll bar has some heavy javascript behind it that drive scrolling of another DIV on the page."

发布评论

评论列表(0)

  1. 暂无评论