jQuery在移动设备上使用skrollr自动滚动
jQuery to auto-scroll with skrollr on mobile?
我用skrollr为iOS制作了一个视差网站。 我想以编程方式向下滚动到页面上的某个点。 我使用过jquery滚动插件,它们适用于桌面,但不适用于移动设备。 如何使用 jQuery 模拟向上滑动或以某种方式模拟滚动到另一个点? 谢谢!
编辑:这不起作用的原因是,在移动设备上,由于iOS在滚动过程中停止动画,skrollr实际上并没有滚动。 相反,它侦听触摸事件并移动元素。 这就是为什么scrollTo插件不起作用的原因。 (来源:https://github.com/Prinzhorn/skrollr#mobile-support)
实际上,我只是意识到 skrollr API 内置了这个!
我可以调用skrollr.animateTo(400)
,skrollr 是用于启动 skrollr 的变量。
希望这对其他人有所帮助!
这更像是仅供参考。
在使用skrollr为移动设备实现自动滚动功能时,我发现的优缺点是:
我为触摸事件使用了两个库[jQuery Mobile,hammer.js]我最终坚持使用锤子,因为我更喜欢文档。
我在ipad上使用它的方式很简单。如果您点击并按住右侧屏幕,我做到了,它会自动向下滚动,直到您松手。反之亦然。
我的问题是它无法读取发布事件并继续滚动,用户无法阻止它。
在弄乱了一会儿之后,我决定改变它。我所做的是放置两个用户可以点击的按钮,它会自动滚动到我整个 skrollr 动画的下一部分。
这是我编写的代码示例。
var ai = 0;
var positionArray = [0, 1244,3194,15468]
$(function () {
var rightArrow = document.getElementById('right-arrow')
var mcRight = new Hammer(rightArrow);
mcRight.on("tap", function (ev) {
ai++
s.animateTo(positionArray[ai])
//alert(s.getScrollTop())
});
var leftArrow = document.getElementById('left-arrow')
var mcLeft = new Hammer(leftArrow);
mcLeft.on("tap", function (ev) {
ai--
s.animateTo(positionArray[ai])
});
})
希望这有帮助。我想要它以我原来的方式点击并按住,但两个插件在滚动时都无法读取点击发布事件。
另一个通过查看文档非常容易解决的问题是,无论动画部分的长度有多长,都需要 1 秒才能到达那里。如果它是一个小部分,那就很好,但如果你有很长的部分,它会很快地擦洗它。
- 幻灯片滚动javascript不起作用
- 将视口底部滚动到元素底部
- jQuery Lazy加载动画滚动
- 设置滑块分区上的滚动
- 结合jQuery和jetpack无限滚动
- 单击顶部导航时如何进行向下滚动效果(向下滑动).
- Skrollr js没有在手机中向下滚动
- Skrollr.js在向上滚动时启动另一个动画
- Skrollr:当滚动位置在最后一个关键帧之后时传递函数
- 防止 Skrollr.js 滚动到特定锚点
- jQuery在移动设备上使用skrollr自动滚动
- Skrollr Parallax 实现中缺少 IOS 滚动条
- 滚动以链接到 skrollr
- Skrollr获胜的原因;不允许我在手机上滚动
- 在移动设备上使用skrollr时,网站无法完全滚动
- 问题:水平滚动效果与Skrollr
- skrollr:水平滚动,平滑滚动不起作用
- skrollr页面只有在iOS设备上滚动后才会移动
- 如何使SVG固定在Skrollr代码中的滚动上
- Skrollr.js菜单没有滚动