我正在使用AJAX加载HTML,在主页面中我有两个div(一个在左侧称为home-logo
,另一个称为home-copy
),AJAX将加载内容适合于div home-copy
,但每页的内容不同。如何获取每个内容的高度,然后将此高度设置为home-copy.height
?
function handleAjax(e) {
// get the page we want
getPage = $(this).attr('href');
// make AJAX call
$.get('ajax.php', {page: getPage}, function(data) {
result = $.parseJSON(data);
// fill in new page
$('#subnav').html(result.subnav);
$('#home-copy').html(result.copy);
// get document height and get rid of 15% minus the height of the boxes and padding
docHeight = [$(document).height()-($(document).height()*.15)]-100;
// change height of content boxes
$('#home-logo').animate({height: docHeight}, 0);
$('#home-copy').animate({
height: docHeight,
backgroundColor: 'white',
color: 'gray',
paddingTop: 50
}, 0);
// fade out the footer
$('#footer-row').fadeOut();
// change background
//$('#content-area').backstretch(result.background);
$('#background img').attr("src",result.background);
// clear old nav
$('.current_page_item_green').removeClass('current_page_item_green');
$('.current_page_item').removeClass('current_page_item');
// update navigation
if (result.nav_color == 'green') {
// add green
$('.nav-link').each(function() {
$(this).addClass('green');
});
$(result.current_page_item).addClass('current_page_item_green');
} else {
$('.nav-link').each(function() {
$(this).removeClass('green');
});
$(result.current_page_item).addClass('current_page _item');
}
});
}
答案 0 :(得分:3)
看起来你已经指定了一个在AJAX调用成功时被调用的函数。但是,您可能希望使用ajax
方法而不是get
,因为您可以更加细致地了解如何处理配置和失败。
答案 1 :(得分:2)
使用ajax success
函数
像
success: function (dataCheck) {
// code after success
}
或使用
等done
方法
示例:将一些数据保存到服务器,并在用户完成后通知用户。
$.ajax({
type: "POST",
url: "some.php",
data: { name: "John", location: "Boston" }
}).done(function( msg )
{
alert( "Data Saved: " + msg );
});