【发布时间】:2011-04-26 12:44:26
【问题描述】:
是否有脚本可以将页面跳转到水平端。
用户可以按键盘上的“Home”和“End”来跳转到网页的顶部和底部,但是左右呢?
我如何避免用户不得不滚动到 x 滚动的很远深度的不便
【问题讨论】:
标签: javascript html scroll
是否有脚本可以将页面跳转到水平端。
用户可以按键盘上的“Home”和“End”来跳转到网页的顶部和底部,但是左右呢?
我如何避免用户不得不滚动到 x 滚动的很远深度的不便
【问题讨论】:
标签: javascript html scroll
水平滚动是一种不常见的情况,因为浏览器自然会尝试垂直滚动,除非不可调整的元素真的溢出了可见区域;因此,我将假设您更多地采用明确的水平设计,例如其中之一:http://webdesignledger.com/inspiration/40-of-the-best-horizontal-scrolling-websites
无论如何,基本都是一样的:捕捉一些关键*事件,然后做你想做的事。
捕捉事件并启动您的滚动功能:
document.body.addEventListener('keydown', scrollfct, true);
第一个警告:'keypress' 不会捕获特殊字符,例如向上/向下等,因此请使用 'keydown' 或 'keyup'
现在滚动功能:
function scrollfct(e) {
console.log(evt.keyCode); /* this will debug that your function is being called, and will help you get the keyCodes you want. Remove in production :-) */
var HOME_LEFT = 33; //HOME
var HOME_RIGHT = 34; //END
if (e.keyCode == HOME_LEFT) {
window.scroll(0,0);
};
if (e.keyCode == HOME_RIGHT) {
window.scroll(document.body.scrollWidth,0);
}
}
window.scroll 文档:https://developer.mozilla.org/en/Window.scroll
第二个警告:要完全跨浏览器,您必须做一些功课。
如果您也想处理鼠标滚轮,或者想要平滑滚动,请查看:http://paulicio.us/items/view/24/horizontal-page-scrolling-using-javascript 或使用 jQuery:http://tympanus.net/codrops/2010/06/02/smooth-vertical-or-horizontal-page-scrolling-with-jquery/ 或者只使用 HTML5 CSS 过渡。
【讨论】:
通常我会说,分页可以避免用户到处滚动,但还有其他一些技术。您可以包含一个“右”按钮,该按钮链接到页面右侧的某些内容的 ID。那会让他们立即跳到那里。应该是这样的
<a href="#overtotheright">Goto the Right</a>
. . .
<div id="overtotheright"> . . . </div>
或者在 javascript 中,以下应该可以工作。
window.scrollTo(document.body.scrollWidth, 0);
【讨论】: