一次小规模的、可能很简单的咨询。我通过Ajax加载页面,如下所示:
jQuery("div.menu a").addClass("ajax");
var hash = window.location.hash.substr(1);
var href = jQuery(\'.ajax\').each(function(){
var href = jQuery(this).attr(\'href\');
if(hash==href.substr(0,href.length-5)){
var toLoad = hash+\'.html #wrapper\';
jQuery(\'#wrapper\').load(toLoad)
}
});
jQuery(\'a.ajax\').click(function(){
var toLoad = jQuery(this).attr(\'href\')+\' #wrapper\';
jQuery(\'h2\').fadeOut(\'slow\');
jQuery(\'#wrapper\').animate( {
top: \'300px\',
opacity: 0
} ).animate({top:\'-300px\'}).hide(\'normal\',loadContent);
window.location.hash = jQuery(this).attr(\'href\').substr(0,jQuery(this).attr(\'href\').length-5);
function loadContent() {
jQuery(\'#wrapper\').load(toLoad,\'\',showNewContent())
}
function showNewContent() {
jQuery(\'#wrapper\').show(\'slow\').animate( {
top: \'0px\',
opacity: 1
} );
jQuery(\'h2\').fadeIn(\'slow\');
}
return false;
});
在这样做的同时,我还将当前页面的标题显示在标题处。php通过
echo get_the_title();
. 显然,此功能没有更新,我的问题是:
Is there a way to fetch the title of the page loaded via Ajax?
SO网友:onokazu
我假设您想将获取页面的标题设置为h2?像下面这样更改单击处理程序怎么样?
jQuery(\'a.ajax\').click(function(){
var toLoad = jQuery(this).attr(\'href\');
jQuery(\'h2\').fadeOut(\'slow\');
jQuery(\'#wrapper\').animate( {
top: \'300px\',
opacity: 0
} ).animate({top:\'-300px\'}).hide(\'normal\',loadContent);
window.location.hash = jQuery(this).attr(\'href\').substr(0,jQuery(this).attr(\'href\').length-5);
function loadContent() {
jQuery.get(toLoad, function(data) {
jQuery(\'#wrapper\').html(data.find(\'#wrapper\')).show(\'slow\').animate( {
top: \'0px\',
opacity: 1
} );
jQuery(\'h2\').text(data.find(\'title\').text()).fadeIn(\'slow\');
});
}
return false;
});