当正文具有 dir=rtl 属性时,我遇到了scrollTo 函数的问题。这是 jsfiddle对于我的情况。
HTML:
window.scrollTo(-200, 0);
<html>
<head>
</head>
<body dir="rtl">
<div width="100%" style="width: 3000px; height:200px; overflow: hidden">
<div style="width: 1000px; height: 100px; border: 2px solid black; display: inline-block"></div>
<div style="width: 1000px; height: 100px; border: 2px solid red; display: inline-block"></div>
</div>
<script type="text/javascript">
window.scrollTo(-200, 0);
</script>
</body>
</html>
因此,如果我为 xpos 参数传递一个正值,它自然会在 IE 上工作(有点),它会从屏幕右侧滚动 200 像素。但在 chrome 和 firefox 上它不起作用,我必须传递一个负值才能使滚动按预期工作。
我的问题是,我如何在代码中处理这种情况,我应该进行浏览器嗅探吗?或者,还有更好的方法?我可以测试一些功能是否支持?
最佳答案
如othree explains在他的 jQuery rtl 滚动类型插件中,当 dir
设置为 rtl
时,水平滚动有 3 种主要实现:WebKit、Firefox/Opera 和 IE
这些实现的区别如下:
因为你不能使用 jQuery,所以我修改了此 plunker 中的其他代码它在 chrome、firefox 和 IE11 中运行良好
关于Javascript window.scrollTo 在不同浏览器上的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26610423/