如何让github风格的页面转换通过pjax

问题描述:

曾经有一段时间,我读过一篇文章说github页面转换是由pjax做的,我检查了jquery-pjax项目。我想我已经接近答案了,它必须是与事件pjax:startpjax:end有关的事情,但我仍然无法得到它的工作,所以我试图在这里得到一些帮助。如何让github风格的页面转换通过pjax

$('a.pjax').pjax('#main'); 
$('#main').bind('pjax:start', function(){$('#main').slideUp()}) 
    .bind('pjax:end'), function(){$('#main').slideDown()}); 

但它没有影响

+0

你说的是如何当你挖通过代码下一/上页滑动进出?这是用HTML5历史API和基本行为JS完成的。 –

+0

@CalvinFroedge是的,我在谈论代码视图页面,你的意思是没有关于pjax? –

+2

是的,是什么使这项工作的核心是历史API:http://html5demos.com/history在交换到新的url后,你会得到请求。效果部分可以用标准的jQuery animate完成。 –

Github上使用HTML5功能的页面过渡。这包括新的JS History API和CSS3转换。除了标准事件侦听,选择器之外,没有涉及jQuery。这篇博文是所有相关链接 https://github.com/blog/760-the-tree-slider

+5

我读过这篇文章,仍然不知道 –

我不知道这是否有关。但我一直在使用Pjax我和上面的代码有语法错误,应该是:

$('a.pjax').pjax('#main'); 
$('#main').bind('pjax:start', function(){$('#main').slideUp()}) 
.bind('pjax:end', function(){$('#main').slideDown()}); 

编辑:是的,不指出这一点遗憾。就像@Udo Held说的那样:你需要在'pjax:end'之后移除括号,否则它不会跟随并执行$('#main')。slideDown()函数。

+0

您应该指出错误是因为它很难说出区别是什么:您需要在'.bind('pjax:end'')之后移除括号,然后重复工作代码或类似的东西 –

Pjax:DemoSource[Github]
这是一个 github上使用.. reference

+0

非常感谢这个我花了一个星期看,最后认为github出thx到您的参考链接 – Noitidart