在页面更改时为某些元素设置动画

时间:2017-06-08 21:51:12

标签: jquery animation

所以我一直在阅读页面转换,它们变得非常复杂。我仍然是jQuery的新手,所以我希望得到关于如何在页面转换上执行动画(即单个元素)的简化答案。

我为这些问题的基本情况道歉,但我相信大家都知道,一旦你掌握了基本的基本原理和简单的概念,它就会让其他问题变得更加轻松。

因此,根据我的阅读,您将使用jQuery来检测页面更改,执行动画然后允许更改页面。

然后jQuery将在页面加载时执行并为。中的元素设置动画。

问题1: 所以对于第一部分,我已经发现我需要使用:

$( window ).unload(function() {
  return "Handler for .unload() called.";
});

我如何使用它来延迟更改页面足够长的时间以完成我的动画,并且这会使用后退和前进浏览器按钮来更改页面吗?

问题2: 如何在加载新页面时确保我的元素从屏幕开始,并且只在内容加载后才动画?

$(document).ready函数只会在页面准备好后执行,因此会在屏幕上显示徽标并将其跳出屏幕并重新设置动画。

P.s我会更新这个帖子,详细说明我如何弄清楚我想要的结果。非常感谢。

2 个答案:

答案 0 :(得分:0)

对于第一个问题,您可以尝试以下jquery代码。

$(window).load(function() {
    $(".animation").fadeOut("slow").delay(1000);
});

上传动画将在加载页面后立即加载。如果您想添加额外的延迟,也可以添加.delay():)

答案 1 :(得分:0)

如果您需要在一个站点内为页面更改提供动画 - 您可能计划制作一个名为“单页面应用程序”的内容。

如果这是你的目标,我认为你真的应该从这里开始: https://github.com/browserstate/history.js/wiki/The-State-of-the-HTML5-History-API

然后回答你的问题1将是: - 改为使用ajax和History API

回答问题2: - 你永远不会离开页面。使用ajaxy loader更改内容(当您隐藏上一页内容时以及显示新页面内容时使用动画),然后推送新的历史状态以使用户可以使用浏览器按钮进行导航。 PS。您可以实现一些漂亮的效果,将内容的重复部分留在原位(例如徽标图像),并仅为内容的其余部分制作动画。

或者 - 看看here对于其他一些解决方案(可能更容易开始): https://github.com/miguel-perez/smoothState.js?files=1 实现类似this或类似this

的内容