我需要一个能够持续运行的功能

时间:2014-07-24 13:56:28

标签: javascript jquery

我目前正在制作一个内容不断变化的网站,从而改变页脚。 我有一个功能,使页脚适应内容,它看起来像这样:

(function() {
    var contentHeight = $('#contentwrap').height();
    $('footer').css('top', 510 + contentHeight + 'px');
});

它当前绑定到onClick()并尝试了setTimeout(),但由于我无法预测加载内容所需的时间,因此无法正常工作。
我无法使用setInterval(),这似乎是不断更新函数的东西。

请帮帮我

编辑:

我的目标是让上述功能一直运行或间隔很短,但不知道该怎么做。

2 个答案:

答案 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');
});