我很想知道用于产生效果的内容,例如此网站模板:http://www.templatemonster.com/demo/43491.html
我希望有一个菜单和背景,而一旦我点击菜单链接,它就会触发新页面滑入视图而不会被重定向到新页面,导致浏览器重新加载新页面等等。还不错。
我不是在寻找代码(除了要使用的函数(如果使用JQuery))以及我应该寻找什么样的效果来实现这一目标?
请指出正确的方向:)
答案 0 :(得分:0)
有很多方法可以达到你想要的效果,但这是我关于如何在概念上实现它的建议:
通过设置内容容器的position
动画来为内容设置动画,这样可以为您的网页带来流畅的感觉。 The jQuery documentation应该非常清楚。请记住,您要拦截锚点的正常行为,因此preventDefault()
或return false
或两者都可以。
使用AJAX request 获取您的内容。您可以使用放在链接中的href
属性来获取正确的内容。然后使用.on()
方法将事件绑定到该<a>
元素。你离开href
的原因是要有一个优雅的后备:如果代码出现问题,如果用户禁用了javascript,或者只是在非javascript友好的浏览器上导航,他仍然可以访问您的内容。
这是实现您所需要的两个必要步骤。如果您想稍微调整一下您的网站,请尝试考虑这些事情:
谨慎使用加载.gif
,让您的网站看起来更具响应性。
不要重复提供内容:检查用户是否点击了当前显示页面的链接,而不是再次获取内容;除了对你的用户愚蠢之外,它会使无用的服务器负载(可能微不足道,但仍然)。但总是考虑你的用户!告诉他通过巧妙使用UI来禁用该链接。
使用history API处理浏览器历史记录。您的网站将更易于访问,更加用户友好,更适合搜索引擎优化,并且看起来也更先进。
答案 1 :(得分:-1)
现在可以有很多种方式......简单的方法(但它不是一种可维护的方式)
是您在一个页面中的所有网站内容,并将您认为页面中的每个部分包装在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这样的东西 需要一段时间才能很好地了解它......
这只是一个关于它是如何工作的快速想法..