如何在不破坏功能的情况下隐藏跨浏览器的滚动条

朝圣者

我正在使用水平滚动条,我想继续使用它,但隐藏滚动条功能。我不能使用“溢出:隐藏”方法,因为那样会破坏JS功能。有什么方法可以满足所有现代浏览器的要求吗?

$j = jQuery.noConflict();

var $panels = $j('#primary > #main > article');
var panelLeftsArray = $panels.map(function () {
    return ($j(this).position().left);
}).get();

var len = panelLeftsArray.length;
var getCurrentSectionIndex = function (left) {
    for (var i = 0; i < len; i++) {
        if (left >= panelLeftsArray[i] && left < panelLeftsArray[i + 1]) {
            return i;
        }
    }
    return len-1;
};

var index = 0;

var handler = function () {
    var position = Math.abs($j('#primary #main').position().left);
    index = getCurrentSectionIndex(position);
    console.log(index);
};
var scroll = function(){
    $j('#primary').unbind('scroll', handler);
    $j('#primary').scrollTo('#main article:eq(' + index + ')', 800, {
        axis: 'x',
        onAfter: function () {
            $j('#primary').bind('scroll', handler);
        }
    });
}
$j('#primary').bind('scroll', handler);

$j('.control_next').click(function (e) {
    console.log(index);    
    if (index < len-1) {
        index++;
        scroll();
    } 
    return false;
});

$j('.control_prev').click(function (e) {
    console.log(index);
    if (index > 0) {
        index--;
        scroll();
    }
    return false;
});

http://jsfiddle.net/Pilgrimish/pB3rB/

奥斯卡·帕兹(Oscar Paz)

如果我正确理解了这一点,则希望显示滚动条,但不执行任何操作,仅触发滚动事件而不进行真正的滚动,这样就可以将视口放置在节的开头了吗?

好吧,没有办法做到这一点。您不能禁用scrallbar功能,但仍要显示它。但是,您可以将overflow-x设置为“ hidden”。创建一个固定的div,该div附加到窗口底部,并具有滚动条的确切高度和浏览器窗口的宽度。在其内部,创建一个高度为0且宽度与父文档相同的内部div。您必须处理resize事件才能调整滚动条div。

然后,将滚动处理程序附加到滚动条div的scroll事件上,并使用滚动位置手动滚动主文档。

我正在做一些猜测,因为在您jsfiddle中,滚动条的行为就像普通的滚动条。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在没有垂直滚动标题的情况下使DIV的浏览器高度达到100%

来自分类Dev

如何构建保留最小尺寸,在可能的情况下进行拉伸,显示浏览器级别滚动条的Vaadin设计

来自分类Dev

溢出-y:隐藏和溢出-x:隐藏,但是如何在没有滚动条的情况下向下滚动

来自分类Dev

跨浏览器jQuery滚动条通过body标签运行

来自分类Dev

如何使浏览器滚动条静态

来自分类Dev

如何在不删除选择框滚动条的情况下删除浏览器滚动条

来自分类Dev

Angularstrap Modal隐藏垂直浏览器滚动条

来自分类Dev

如何使固定的div覆盖浏览器的滚动条?

来自分类Dev

引导如何在减小浏览器大小时显示滚动条

来自分类Dev

如何在不使用jQuery的情况下创建简单的页面垂直滚动条?

来自分类Dev

gulp:如何在不刷新的情况下更新浏览器(仅适用于CSS更改)

来自分类Dev

我如何在不破坏导航栏上的长值的情况下调整浏览器的大小?

来自分类Dev

如何在不造成浏览器延迟的情况下暂停Javascript的执行?

来自分类Dev

隐藏网络浏览器滚动条

来自分类Dev

如何在没有滚动条的情况下滚动Div?

来自分类Dev

如何使浏览器滚动条静态

来自分类Dev

如何在没有滚动条的情况下获取radChildwindow?

来自分类Dev

如何在没有垂直滚动标题的情况下使DIV的浏览器高度达到100%

来自分类Dev

如何在不删除选择框滚动条的情况下删除浏览器滚动条

来自分类Dev

gulp:如何在不刷新的情况下更新浏览器(仅适用于CSS更改)

来自分类Dev

如何在没有浏览器的情况下安装浏览器

来自分类Dev

如何在没有滚动条的情况下以全屏方式打开批处理程序?

来自分类Dev

如何在没有滚动条的情况下创建水平可滑动菜单?

来自分类Dev

如何在没有水平滚动条的情况下隐藏<body>左侧的DOM元素?

来自分类Dev

如何在不显示垂直滚动条的情况下显示标题?

来自分类Dev

在div跨浏览器中隐藏滚动条而不破坏溢出文本

来自分类Dev

如何在不隐藏正文滚动条的情况下在固定 div 上滚动时禁用正文滚动?

来自分类Dev

使用 (MaterializeCSS),如何在不冻结浏览器的情况下初始化 Picker 组件?

来自分类Dev

自定义滚动条跨浏览器

Related 相关文章

  1. 1

    如何在没有垂直滚动标题的情况下使DIV的浏览器高度达到100%

  2. 2

    如何构建保留最小尺寸,在可能的情况下进行拉伸,显示浏览器级别滚动条的Vaadin设计

  3. 3

    溢出-y:隐藏和溢出-x:隐藏,但是如何在没有滚动条的情况下向下滚动

  4. 4

    跨浏览器jQuery滚动条通过body标签运行

  5. 5

    如何使浏览器滚动条静态

  6. 6

    如何在不删除选择框滚动条的情况下删除浏览器滚动条

  7. 7

    Angularstrap Modal隐藏垂直浏览器滚动条

  8. 8

    如何使固定的div覆盖浏览器的滚动条?

  9. 9

    引导如何在减小浏览器大小时显示滚动条

  10. 10

    如何在不使用jQuery的情况下创建简单的页面垂直滚动条?

  11. 11

    gulp:如何在不刷新的情况下更新浏览器(仅适用于CSS更改)

  12. 12

    我如何在不破坏导航栏上的长值的情况下调整浏览器的大小?

  13. 13

    如何在不造成浏览器延迟的情况下暂停Javascript的执行?

  14. 14

    隐藏网络浏览器滚动条

  15. 15

    如何在没有滚动条的情况下滚动Div?

  16. 16

    如何使浏览器滚动条静态

  17. 17

    如何在没有滚动条的情况下获取radChildwindow?

  18. 18

    如何在没有垂直滚动标题的情况下使DIV的浏览器高度达到100%

  19. 19

    如何在不删除选择框滚动条的情况下删除浏览器滚动条

  20. 20

    gulp:如何在不刷新的情况下更新浏览器(仅适用于CSS更改)

  21. 21

    如何在没有浏览器的情况下安装浏览器

  22. 22

    如何在没有滚动条的情况下以全屏方式打开批处理程序?

  23. 23

    如何在没有滚动条的情况下创建水平可滑动菜单?

  24. 24

    如何在没有水平滚动条的情况下隐藏<body>左侧的DOM元素?

  25. 25

    如何在不显示垂直滚动条的情况下显示标题?

  26. 26

    在div跨浏览器中隐藏滚动条而不破坏溢出文本

  27. 27

    如何在不隐藏正文滚动条的情况下在固定 div 上滚动时禁用正文滚动?

  28. 28

    使用 (MaterializeCSS),如何在不冻结浏览器的情况下初始化 Picker 组件?

  29. 29

    自定义滚动条跨浏览器

热门标签

归档