javascript - 模拟类似应用程序的滑动来切换移动网站上的页面

标签 javascript jquery css zepto wechat

我最近对微信(威信)前端框架之一的有趣行为感到好奇。

如果你看https://weui.io/使用打开的 Chrome 设备工具栏,然后在第一页的列表中选择一个元素 - 您会注意到它会将您带到新页面,而无需重新加载任何页面 + 新页面类型从右向左滑入。

但最有趣的部分是,如果您按“后退”按钮(Chrome 浏览器窗口左上角的常用“后退”按钮),它将带您返回首页。另外,如果您使用移动设备打开相同的 weui.io,您将能够选择列表中的某些元素,它将再次加载带有漂亮幻灯片效果的新页面,然后您只需从左向右滑动即可返回上一页。所以滑动的工作方式完全就像在应用程序中一样,我觉得非常有趣!

我想在我的网站上构建相同的行为,但无法有效地模拟它。

我的想法是,我只是立即加载两个页面,第二个隐藏,然后根据需要滚动第二个页面,但重点是我需要在整个站点范围内使用此方法,而这种方法对于整个站点范围来说非常笨拙使用。或者,我可以使用 AJAX 加载第二页,但它仍然不会在移动设备上提供滑动效果。

我一直在检查代码,但仍然无法获取涵盖该特定函数的代码部分。

有人做过类似分享exp的事情吗?感谢您的任何想法!

最佳答案

结果很简单:这都是关于 History API(pushstate + popstate - 还有一个很好的 CSS 技巧 example 作为开始)。

无论如何,History API 可以帮助您模拟后退/前进按钮的行为,即使您只是这样做。

$('.some_div').hide() $('.some_other_div').show();

我找到了this post真正有用 - 几乎开箱即用。

最后,历史API浏览器支持可以找到here .

如果有任何问题,我很乐意发表评论;)

关于javascript - 模拟类似应用程序的滑动来切换移动网站上的页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46763348/

相关文章:

javascript - 如何在 .php 文件中启用 resharper html + javascript 支持

javascript - jquery lightbox按下一个按钮时自动滚动网站

jquery - 淡入背景/div,标题/div 始终在顶部可见

javascript - jQuery - 根据输入链接中粘贴的链接选择一个选项

css - 有没有相反的显示:none?

html - Chrome 和 FF/IE 之间的内联填充样式冲突

javascript - 如何使用JS隐藏点击外部的上下文菜单?

javascript - 如何在 JavaScript 中执行默认操作后捕获事件

javascript - 使用 jQuery 使用其他元素的文本选择类

javascript - 一旦用户到达页面上的特定点,自动滚动到特定点/ anchor