如何在页面上的opera mini移动浏览器中向下或向上滚动到特定的Y-px位置,而不使用任何纯js的第三个库?尝试了从 scrollTo 到 SCrollInto 的所有可能视图,但没有任何效果。请帮忙。
问问题
1197 次
2 回答
2
滚动行为在每个现代浏览器中都是正确的。
当您只是打开新窗口/选项卡并且不触摸屏幕时,javascript 滚动 API 可以正常window.scrollTo(x,y)
工作,因为您没有向浏览器发出要滚动的信号。
但是,如果您在页面加载时初始化滚动事件(例如滑动),浏览器将忽略 javascript 滚动 API,例如scrollTo
。如果您刷新页面,javascript 滚动 API 将不起作用。因为在刷新之前用户所在的页面位置返回用户是一个好习惯。
哈希书签也可以滚动页面。如果您将 a 设置#bookmark
为页面 URL,则页面将滚动到书签,直到您滚动页面为止。然后你滚动所有内容,就像我在上面写的一样:javascript scroll API 将被忽略。
但是在任何情况下都有一种滚动方式 -使用哈希书签进行操作:
window.scrollTo(0, 500);//will not work if the user scroll the page
location.hash = '';//reset hash
setTimeout(function () {
location.hash = 'bookmark';//will scroll to bookmark in any case
}, 1000)//remember about operamini timers limit
它之所以有效,是因为使用必须控制页面,而不是代码。
于 2014-01-17T11:39:03.673 回答