【问题标题】:What is jScrollPane-1.2.3.min.js and why's it not working?什么是 jScrollPane-1.2.3.min.js,为什么它不起作用?
【发布时间】:2012-04-19 17:03:37
【问题描述】:

我正在维护一个支持 jQuery 的网站,它利用 jScrollPane 来拥有漂亮的滚动条。

在 Internet Explorer 9 中进行测试时,我遇到了错误“不支持 SCRIPT438 getElementsByTagName”。这是带有 jQ​​uery 1.5(我正在使用)的known bug,可能与 jScrollPane 无关。

所以,我将 jQuery 升级到了 1.7.1 版本。很好,SCRIPT438 错误消失了。但是,jScrollPane 现在会在 jScrollPane-1.2.3.min.js 中生成模糊的 JavaScript 错误 D is null。由于我不是该网站的原始开发者,我不知道这个文件来自哪里。在the official site 上找不到它。

如果我尝试 jquery.jscrollpane.min.js(来自 jScrollPane 站点),结果并不好。滚动内容在页面初始化时显示,但在页面准备好时消失(无 JavaScript 错误)。 jScrollPane 不是向后兼容吗?

有人了解不同的 jScrollPane 文件以及我得到错误的原因吗?

【问题讨论】:

  • 更新:我将 jQuery 和 jScrollPane 都升级到了最新版本,但必须重写我的 DOM 代码才能正常工作。这是一项艰苦的工作,耗时数小时。问题似乎是 jScrollPane 不向后兼容。

标签: jquery-jscrollpane


【解决方案1】:

您需要将 autoReinitialize 选项与最新版本的 jquery.jscrollpane.min.js 一起使用:

$('.scrollpane').jScrollPane({autoReinitialise: true});

这将解决页面准备就绪时出现滚动条的问题。一周前我遇到了同样的问题,现在我遇到了一个全新的问题,这就是我偶然发现这个问题的原因。

【讨论】:

  • 我现在尝试了更多,结果不同,设置autoReinitialise: true。升级到 jQuery 1.7.2 时,我在 jScrollPane-1-2-3.min.js 中收到错误 P[0] is undefined。回到 jQuery 1.4.2,jScrollPane 再次工作。
  • 所以我猜想jScrollPane-1-2-3.min.js 是什么的原始问题仍未得到解答。该文件出现在网络上的各处,但没有文档。有根据的猜测是它是一个过时的版本,但如果是这种情况,为什么新的 jScrollPane 实现上没有版本号?而且它肯定不向后兼容,这是您所期望的。
  • 当使用jquery.jscrollpane.min.js 时,滚动容器会获得一个无效的margin-left CSS 属性,导致它从视图中消失(这就是它们在页面准备好时消失的原因)。我可以使用 Firebug 找到可滚动的项目。在我看来,这是 jScrollPane 中的一个错误,或者 jScrollPane 在设计上不向后兼容。
  • 基于 JavaScript 文件命名约定,我的想法是它是 jScrollPane 1.2.3 版的缩小版。至于向后兼容性问题,我很难回答,因为我最近开始使用 jScrollPane 并且对以前的版本没有经验。
  • 将您的代码发布到 Pastebin 中,包括 jQuery 和 jScrollPane,希望我或其他人可以帮助您解决问题。你是否也在使用其他 JS 库?
猜你喜欢
  • 2017-11-28
  • 2017-11-07
  • 2020-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多