我很想知道用什么来产生这样的效果,比如这个网站模板:http ://www.templatemonster.com/demo/43491.html
我希望有一个菜单和背景,而一旦我单击菜单链接,它就会触发新页面滑入视图,而不会被重定向到新页面,从而导致浏览器重新加载新页面等。一些流畅而漂亮的东西。
我不是在寻找代码(除了要使用的函数(如果是 JQuery)),我应该寻找什么效果来使这成为可能?
只需指出我正确的方向:)
我很想知道用什么来产生这样的效果,比如这个网站模板:http ://www.templatemonster.com/demo/43491.html
我希望有一个菜单和背景,而一旦我单击菜单链接,它就会触发新页面滑入视图,而不会被重定向到新页面,从而导致浏览器重新加载新页面等。一些流畅而漂亮的东西。
我不是在寻找代码(除了要使用的函数(如果是 JQuery)),我应该寻找什么效果来使这成为可能?
只需指出我正确的方向:)
有很多方法可以实现您的愿望,但这是我关于如何从概念上实现它的建议:
通过为内容容器设置动画来为内容设置动画position
,这应该会给您的页面带来流畅的感觉。jQuery 文档应该对此非常清楚。请记住,您要拦截锚点的正常行为,所以要么 要么 要么preventDefault()
两者return false
兼而有之。
使用AJAX 请求获取您的内容。您可以使用href
放在链接中的属性来获取正确的内容。然后使用方法将事件绑定到该<a>
元素.on()
。你离开的原因href
是有一个优雅的后备:如果代码出现问题,如果用户禁用了 javascript,或者只是在非 javascript 友好的浏览器上导航,他仍然可以访问你的内容。
这是实现您所寻找的两个基本步骤。如果您想进一步微调您的网站,请尝试考虑这些事情:
通过谨慎使用 loading让您的网站看起来更具响应.gif
性。
不重复服务内容:检查用户是否点击了当前显示页面的链接,不再获取内容;除了对您的用户来说看起来很愚蠢之外,它还会造成无用的服务器负载(可能微不足道,但仍然如此)。不过,请始终考虑您的用户!告诉他,巧妙地使用 UI 禁用了该链接。
操纵浏览器历史记录:使用history API。您的网站将更易于访问、对用户更友好、对 SEO 更友好,并且看起来也更加先进。
现在可以有很多方法..简单的方法(但这不是一种可维护的方法)
是将您的所有网站内容放在一个页面中,并将您认为页面的每个部分包装在一个 div 中,如下所示
<div class="home-page">content of home page goes here </div>
<div class="contact-us-page">content of contact us page goes here </div>
etc...
并使用 jquery 隐藏除主页之外的所有内容
$(function(){
$('.contact-us-page').hide();
$('.other-page').hide();
})
当用户点击其他页面的链接让我们说联系我们页面时,您将隐藏父级并滑动联系我们页面
$('.contact-us-link').click(function(){
$('.home-page').hide(1000);
$('.contact-us-page').show(1000);
})
就是这样:)
这样做的缺点是不会有路由..
所以要解决这个问题,你必须使用像backbone.js这样的东西,这需要一段时间才能很好地了解它......
这只是一个关于它如何工作的快速想法..