我目前正在制作一个内容不断变化的网站,从而改变页脚。 我有一个功能,使页脚适应内容,它看起来像这样:
(function() {
var contentHeight = $('#contentwrap').height();
$('footer').css('top', 510 + contentHeight + 'px');
});
它当前绑定到onClick()并尝试了setTimeout(),但由于我无法预测加载内容所需的时间,因此无法正常工作。
我无法使用setInterval(),这似乎是不断更新函数的东西。
请帮帮我
编辑:
我的目标是让上述功能一直运行或间隔很短,但不知道该怎么做。
答案 0 :(得分:0)
使用setTimeout;它比setInterval(http://reallifejs.com/brainchunks/repeated-events-timeout-or-interval/)
略高效就加载时间而言,没有任何方法可以解决这个问题。 AJAX请求加载时间会有所不同。您可以在setTimeout的开头请求AJAX,并希望在它完成时获得它(如果到那时它还没有完成,那么你需要一个后备)。但是,在那种情况下,你并不一定得到最新的"数据。我的建议是使用setTimeout,然后发生AJAX请求。完整的功能将更新页面上的数据......是的......它不会完美定时,但它应该是中途的。
答案 1 :(得分:0)
我认为jQuery resize()会帮助你:
$("#contentwrap").resize(function(){
var contentHeight = $(this).height();
//fix footer to bottom if content < window
if(contentheight+510+$('footer').height() >$(window).height()) contentHeight = $(window).height()-510;
$('footer').css('top', 510 + contentHeight + 'px');
});