我在页面上有overflow:visible
和direction:rtl
的div。
问题是IE显示左侧的滚动条,而Chrome和FF显示右侧的滚动条。
是否有任何js方法来检测滚动条的一侧?
我知道你可以选择,如果IE在左边,其他所有在右边,但我对这个解决方案不满意
答案 0 :(得分:4)
这是一个非常黑客的想法:
获取div中第一个子元素的相对x偏移量(或者简单地从子项的x位置减去div的x位置)
如果滚动条在左侧,则第一个子项的x-offset / -position应该高于右侧栏的值,因为左侧滚动条会将元素向右推一点。
也许它会起作用(我没有IE方便检查它)
这是一个未经测试的概念:http://jsfiddle.net/tKGS2/
答案 1 :(得分:2)
<div style="overflow:auto; width:100px; height:100px">
<div style="direction:rtl;">
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
</div>
</div>
答案 2 :(得分:0)
我做了这样你就可以从javascript获得滚动条位置,而不必有可见的div http://jsfiddle.net/tKGS2/27/
var d = $("<div></div>");
d.css("overflow-y","scroll");
d.append('<p/>');
$('#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;