我目前有两个jQuery scripts
在单个div上运行——一个是jScrollPane
的实例,另一个是依赖于div中scrollLeft()
的当前值的custom script
。
这些脚本中只有一个可以同时工作。经过大量挖掘,我发现当jScrollPane
运行时,当我在div内滚动时,scrollLeft()
的值无法更新
在扫描jquery.jscrollpane.js文件后,我找不到任何修复了scrollLeft()
的实例,但我可能错了。
不管jScrollPane
在做什么,我有没有办法强迫scrollLeft()
值不断更新自己?
好的!因此,经过进一步的挖掘,我们发现:jScrollPane
实际上并没有滚动内容——它模拟滚动,但不断地重置它所应用的任何内容的left
值。因此,如果你需要scrollLeft()
的值,你可以使用jScrollPane
的getContentPositionX()
函数来获得它。
请注意,当您使用此函数时,必须首先调用.data('jsp')
,例如:
var scrollLeft = $('#div-id').data('jsp').getContentPositionX();
还要注意,这对于scrollTop()
和getContentPositionY()
是相同的。
scrollLeft()
从未更新过,因为我们从未真正滚动过。