$(document).ready(function() {
var hash = window.location.hash.substr(1);
var href = $('#nav li a').each(function(){
var href = $(this).attr('href');
if(hash==href.substr(0,href.length-5)){
var toLoad = hash+'.php #conten';
$('#conten').load(toLoad)
}
});
$('#nav li a').click(function(){
var toLoad = $(this).attr('href')+' #conten';
$('#conten').hide('fast',loadContent);
$('#load').remove();
$('#conten').append('<span id="load"></span>');
$('#load').fadeIn('normal');
window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-5);
function loadContent() {
$('#conten').load(toLoad,'',showNewContent())
}
function showNewContent() {
$('#conten').show('normal',hideLoader());
}
function hideLoader() {
$('#load').fadeOut('normal');
}
return false;
});
问题现在我需要在用ajax加载内容后加载javascripts代码 我如何使用Ajax回调方法,如jQuery的ajax()方法中的方法来定义请求完成时要执行的内容。???
添加此功能怎么样?
$.ajax({
type: "POST",
url: "product.php",
dataType: "html",
success: function(msg){
if(parseInt(msg)!=0)
{
$('Conten').html(msg);
$('#loading').css('visibility','hidden');
}
}
});
答案 0 :(得分:0)
从.load()参数中取出showNewContent()的()。换句话说,改变您的代码:
function loadContent() {
$('#conten').load(toLoad,'',showNewContent())
}
到此:
function loadContent() {
$('#conten').load(toLoad,'',showNewContent)
}
.load()
操作完成后,系统会调用showNewContent()
。