【问题标题】:Sliding in Web Pages在网页中滑动
【发布时间】:2013-01-17 03:02:16
【问题描述】:

我正在寻找一种在整个页面中滑动的简单方法,从右到左再到后退,就像在 iOS 中一样。

我已经遇到过各种各样的解决方案,也在这个网站上,但它们似乎都没有按照我想要的方式运行。还有一个两年前的问题"Sliding An Entire Web Page" 由其他人提出,但结果只是并排的两页。


我的主要问题是:

  • 我不能并排设置两个 DIV 并隐藏一个,因为我 有多个子页面。

  • 我不能使用 jQuery Cycle 插件,因为它是一个响应式页面 并且不应该是静态的。

  • 如果可能,我更喜欢不基于框架的解决方案。但不要费心把我链接到HTML Page Slide Without a Framework。试过了,但和他的Demo不同的是,来自github的源代码不起作用。


我再次尝试在整个页面中滑动,而不是在页面中的内容。它不是移动网站。

提前感谢您,非常感谢您的帮助。

【问题讨论】:

  • 无法在导航上执行动画。一起动画的所有东西都必须是同一页面的一部分——即使只是技术上和暂时的。我建议你使用 2yo 问题。
  • 哦,我不知道。然而,由于页面超过两页,该解决方案仍然是不可能的。
  • 您可以动态移动页面,甚至可以在动画之前获取它们。
  • 移动它们可能是一个好方法,但在这种情况下并非如此,因为它是一个包含大量大图像的投资组合网站,并且需要很长时间才能加载。获取它们听起来很有希望,但我必须承认我不知道它是如何工作的。你介意简单解释一下吗?
  • 1) 当用户点击一个链接时,在left:100% 创建一个新的div #next-page 并在那里加载目标。 2) 加载完成后,将#cur-page 动画化为left:-100%,将#next-page 动画化为left:0 3) 动画完成后,移除#cur-page 并将#next-page 重命名为#cur-page

标签: html css slide


【解决方案1】:

这是我的简单演示 http://jsbin.com/odivuz/3/edit,它使用 jQuery animate 来实现页面转换。 body 的宽度是在事件触发时计算的。

【讨论】:

  • 谢谢!基本上它按要求工作,但有什么办法可以提高平滑度?
  • 您可以在animate 函数中更改持续时间的长度,使用easing 或使用jQuery UI 来扩展动画API。来自 jQuery doc 的此参考可能会有所帮助 api.jquery.com/animate
  • 测试了不同的持续时间并设法改进了一点,但仍然“不稳定”。使用后退按钮时也会导致问题。我想我会按照上面的建议去获取解决方案,如果我能以某种方式解决...
猜你喜欢
  • 2011-05-23
  • 1970-01-01
  • 2011-09-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多