如何检测滚动条的一侧?

我有一个带overflow:visible的div overflow:visibledirection:rtl页面上的direction:rtl 。 问题是IE显示左侧的滚动条,而Chrome和FF显示右侧的滚动条。 是否有任何js方法来检测滚动条的侧面?

我知道你可以选择,如果IE在左边,其他所有在右边,但我对这个解决方案不满意

这是一个非常黑客的想法:

获取div中第一个子元素的相对x偏移量(或者简单地从子项的x位置减去div的x位置)

如果滚动条在左侧,则第一个子的x偏移/位置应该高于右侧的条形,因为左侧滚动条会将元素向右推动一点。

也许它会工作(我没有IE方便检查它)

这是一个未经测试的概念: http : //jsfiddle.net/tKGS2/

 
text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text

我做到了这样你就可以从javascript获得滚动条位置,而不必有可见的div http://jsfiddle.net/tKGS2/27/

 var d = $("
"); d.css("overflow-y","scroll"); d.append('

'); $('#pivot').append(d); var x = d.find('p').position().left d.css('display','none'); document.body.innerHTML += x; var pos = x < 3 ? "right" : "left"; document.body.innerHTML += pos;