如何制作 FB.Canvas.scrollTo 动画?
我创建了一个固定大小(大约 2,000 像素高)的应用程序,并有一个调用 FB.Canvas.scrollTo 的菜单,以帮助用户导航长页面。
有什么办法可以添加平滑的滚动效果吗? Facebook 并未在其开发者博客上提供任何解决方案。
I've created an app that is a set size (around 2,000 px tall) and have a menu that calls FB.Canvas.scrollTo in order to help the user navigate the long page.
Is there any way to add a smooth scrolling effect? Facebook does not offer any solution on its developer blog.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用@Jonny的方法,你可以更简单地做到这一点
Using @Jonny's method, you can do this a little more simply with
今天刚刚遇到了同样的问题 - 我想出了一点 javascript,它利用了 jQuery 的 animate提供一些缓动的方法 - 滚动仍然有点不稳定(我猜这是因为 FB.Canvas.scrollTo 代理)。无论如何,这是片段:
Just had the same problem today - I came up with a little bit of javascript which makes use of jQuery's animate method which provides some easing - the scroll is still a touch jerky (I'm guessing that's because of the FB.Canvas.scrollTo proxy). Anyway, here's the snippet:
我刚刚使用了 Francis 的技术并实现了一个 jQuery 版本。
您需要将
.scroll_to_me
替换为您想要滚动到的选择器。另外,我还添加了+ 30
到偏移量,因为 iframe 不是从页面顶部开始,您可能需要调整它。I just used Francis' technique and implemented a jQuery version
You need to replace the
.scroll_to_me
with the selector you want to scroll to. Also I added in the+ 30
to the offset as the iframe doesn't start at the top of the page, you may want to tweak this.一种方法是获取当前 Y 位置,然后获取目标 Y 位置。使用 setTimeout 运行 for 循环,将用户带到最终的 Y 位置。
One way of doing it is by getting the current Y position, then getting the to Y position. Run a for loop with a setTimeout that will bring the user to the final Y position.