javascript - iScroll:隐藏指示器时隐藏滚动条

标签 javascript css iscroll iscrollview

我有一个带有交互式滚动条的水平 iScroll 实例。

    myScroll = new IScroll('#wrapper', { 
        scrollX: true, 
        scrollY: false, 
        mouseWheel: false,
        scrollbars: 'custom',
        interactiveScrollbars: true,
        resizeScrollbars: false,
        bindToWrapper: false,
        click: true,
        fadeScrollbars: true,
    });

我希望它的滚动条在 iScroll 使指示器隐藏时隐藏 (display: none) 我注意到,当它检测到由于缺少要滚动的幻灯片/元素而不需要滚动时,它会更改指示器的 css display 属性。

这通常发生在我将浏览器从小视口(viewport)调整为大视口(viewport)时。

fadeScrollbars 并不是我想要的,因为它隐藏了滚动条和指示器,即使它仍然可以滚动。

如何配置 iScroll 在指示器隐藏时不显示滚动条?

有什么解决方法吗?

最佳答案

这个问题是很久以前添加的,但我通过向库中添加一些额外的代码解决了这个问题 - 在 v5.1.3 中,我发现方法刷新在开头是一些“if 条件”:

if ( this.options.listenX && !this.options.listenY ) {
        this.indicatorStyle.display = this.scroller.hasHorizontalScroll ? 'block' : 'none';
    } else if ( this.options.listenY && !this.options.listenX ) {
        this.indicatorStyle.display = this.scroller.hasVerticalScroll ? 'block' : 'none';
    } else {
        this.indicatorStyle.display = this.scroller.hasHorizontalScroll || this.scroller.hasVerticalScroll ? 'block' : 'none';
    }

改为

if ( this.options.listenX && !this.options.listenY ) {
        this.indicatorStyle.display = this.scroller.hasHorizontalScroll ? 'block' : 'none';
        this.wrapper.style.display = this.scroller.hasHorizontalScroll ? 'block' : 'none';
    } else if ( this.options.listenY && !this.options.listenX ) {
        this.indicatorStyle.display = this.scroller.hasVerticalScroll ? 'block' : 'none';
        this.wrapper.style.display = this.scroller.hasVerticalScroll ? 'block' : 'none';
    } else {
        this.indicatorStyle.display = this.scroller.hasHorizontalScroll || this.scroller.hasVerticalScroll ? 'block' : 'none';
        this.wrapper.style.display = this.scroller.hasHorizontalScroll || this.scroller.hasVerticalScroll ? 'block' : 'none';
    }

关于javascript - iScroll:隐藏指示器时隐藏滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24549523/

相关文章:

javascript - 更改现有网页以将属性值显示为文本

javascript - 将辅助事件传递给嵌套点击事件? jQuery

php - 日期选择器显示日期,例如 2012 年 2 月 9 日星期四

html - 为什么是:hover inside the div not working?

javascript - 根据区域划分谷歌地图

css 创建零宽度非空格字符串

html - 添加到现有菜单并使其成为下拉菜单的最佳方式

javascript - 在 scrollstart 和 scrollend 上获取事件 - iscroll

android - 如何在没有 iScroll 的情况下在 PhoneGap 应用程序中使用下拉刷新功能?

javascript - 使用 Iscroll 脚本设置滚动位置