2

我想让我的网页使用 iScroll4,对于桌面(linux、mac 或 pc)浏览器用户来说更好一些。我想将可拖动滚动条添加到 iScroll 组件并隐藏默认指示器。或者,如果可以以某种方式更改默认指示器以接受点击和拖动 - 那也很棒。

到目前为止,我已经以这种方式更改了 iScroll 事件处理程序:

从:

case MOVE_EV: that._move(e); break;
case END_EV: 

至:

case MOVE_EV: that.disable(); break;
case END_EV: that.enable(); break;

完成此更改是因为否则 iScroll 元素内的向下拖动会将页面滚动到错误的方向。


现在我在 iScroll 元素中显示实际滚动条时遇到了一些严重问题。添加:

overflow:scroll;

到包含 iScroll 的 div,使滚动条仅在几分钟内可见,并且仅在鼠标滚动后可见。然后滚动条消失。

如果有人有任何好主意,如何更改 iScroll.js 文件以使 iScroll 可以实际更改自身以具有可拖动的滚动条,那就太好了。

我还想指出,我想保留以默认方式为支持触摸的设备使用 iScroll 的选项,并仅更改桌面浏览器的默认行为。

4

2 回答 2

3

我在 github 上找到了 ZoranJambor 提出的解决方案:

https://github.com/ZoranJambor/iscroll

他的 iScroll 有一个额外的参数 draggableScrollbars 如果你想有可拖动的滚动条可以设置为 true。

另请参阅以下示例:

https://github.com/ZoranJambor/iscroll/tree/master/examples/draggable-scrollbars

谢谢你,希望这对其他人也有帮助 - 我花了整整两天时间寻找解决方案。

BR!

于 2013-02-26T11:07:14.717 回答
1

在 iScroll 5 中,有一个名为“可拖动且用户可以与之交互interactiveScrollbars的滚动条”的选项:http : //iscrolljs.com/#scrollbars

请注意,此选项默认设置为false,因此要启用它,您需要将其显式设置为true,例如:

var someElementWrapper = document.getElementById('some-element-wrapper');
new IScroll(someElementWrapper, {scrollbars: true, interactiveScrollbars: true});

这件事也被报告为iScroll Github 存储库中的issue #342 (现已关闭)。

于 2014-10-13T13:52:57.817 回答