【发布时间】:2016-02-08 20:08:50
【问题描述】:
所以我一直在尝试创建一个网站,该网站在您实际进入网站之前有一个欢迎页面,当您按下 Enter 按钮时,第一页向上滑动,然后新页面从下方出现。
为了让您了解我的真正意思,这是一个很好的例子,http://keepearthquakesweird.com。
您会注意到,当您按下回车按钮时,页面会跳转到完全不同的页面(请注意 url 更改)。这就是我想要达到的目标。
到目前为止,我已经尝试了很多不同的插件,例如动画,(不记得其他插件:P)但似乎没有任何效果,所以我最近的尝试是使用 iframe(注意 url 不会改变)。
最新尝试:
HTML
<a id="myLink" href="#">
Click to slide in new page
</a>
<iframe id="newPage" src="https://jsfiddle.net/"></iframe>
CSS
#myLink {
position: absolute;
}
iframe {
width: 100%;
height: 100%;
top: 100%;
position: fixed;
background-color: blue;
}
jQuery
$(document).ready(function() {
$('#myLink').click(function() {
$('#newPage').transition({top: '0%' });
});
});
【问题讨论】:
-
您需要通过 Ajax 加载页面才能达到此效果。您可以手动更新 URL,而无需更改页面。
-
浏览器中的 url 可能会改变,但从技术上讲,它仍然是您看到的同一页面。永远不会重新加载,只是 DOM 重新渲染。
-
@GoneCodingGoodbye 是否有关于如何实现这一目标的教程?我也不知道什么是或如何使用 ajax。
-
有像
Ajaxify这样的插件可以透明地为您处理加载,但不确定它支持哪些过渡。我们从头开始编写了一个完整的系统来支持这种类型的转换(以及更多),但是它太复杂而无法提供(我写了它,而且大多数时候我自己都不明白它是如何工作的):)
标签: javascript jquery html css css-transitions