【问题标题】:html scrolling: jump to end of page (horizontal) w/javascript?html滚动:使用javascript跳转到页面末尾(水平)?
【发布时间】:2011-04-26 12:44:26
【问题描述】:

是否有脚本可以将页面跳转到水平端。

用户可以按键盘上的“Home”和“End”来跳转到网页的顶部和底部,但是左右呢?

我如何避免用户不得不滚动到 x 滚动的很远深度的不便

【问题讨论】:

    标签: javascript html scroll


    【解决方案1】:

    水平滚动是一种不常见的情况,因为浏览器自然会尝试垂直滚动,除非不可调整的元素真的溢出了可见区域;因此,我将假设您更多地采用明确的水平设计,例如其中之一: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 过渡。

    【讨论】:

    • 感谢您的详尽回答
    【解决方案2】:

    通常我会说,分页可以避免用户到处滚动,但还有其他一些技术。您可以包含一个“右”按钮,该按钮链接到页面右侧的某些内容的 ID。那会让他们立即跳到那里。应该是这样的

    <a href="#overtotheright">Goto the Right</a>
    . . .
    <div id="overtotheright"> . . . </div>
    

    或者在 javascript 中,以下应该可以工作。

    window.scrollTo(document.body.scrollWidth, 0);
    

    【讨论】:

    • 应该是scrollWidth吗? (因为@dany 想要页面的水平结束)
    • 我刚看到,改了代码。现在我正在考虑它,@dany 可能想要捕获 home 和 end 关键事件来执行滚动。
    猜你喜欢
    • 2015-09-30
    • 1970-01-01
    • 2016-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-22
    • 2021-10-17
    相关资源
    最近更新 更多