有没有jQuery .ready的替代品?

时间:2013-06-13 08:57:00

标签: jquery joomla

我正在检查window.height和content.height,并根据内容的高度给出动态高度。为什么我这样做?因为我想在内容较少时将页脚放在底部。

所以我有这个代码可以正常工作,但有一个例外。

<script type="text/javascript">
       jQuery(document).ready(function(){
       var s = jQuery(window).height();
       var n = jQuery("#content").height();
       if(n<s-270&&n>0)
            jQuery("#content").height(s-270);
        });
</script>

当我要访问此页面时,它无法正常工作http://bmsc.tfei.info/en/staff 这是使用标签模块。当我刷新两次或更多次时,它会起作用。 我想在完全加载后检查所有内容(窗口,内容)的高度。 有什么建议吗?

3 个答案:

答案 0 :(得分:2)

在这种情况下,请使用窗口onload事件:

jQuery(window).on('load',function(){
       var s = jQuery(window).height();
       var n = jQuery("#content").height();
       if(n<s-270&&n>0)
            jQuery("#content").height(s-270);
        });

当加载了所有异步元素(图片,脚本)时会触发此事件。

当你在一个相对于窗口的处理程序中时,你可以写:

var s = jQuery(this).height();

答案 1 :(得分:0)

您可以使用resize function

<script type="text/javascript">

    function test()
    {
           var s = jQuery(window).height();
           var n = jQuery("#content").height();
           if(n<s-270&&n>0)
                jQuery("#content").height(s-270);
    }

    jQuery(document).ready(function(){
         test();
    });
    jQuery('window').on('resize',function(){
         test();
    });
    // you can call load and resize once like,

    jQuery('window').on('load resize',function(){
         test();
    });
 </script>

答案 2 :(得分:0)

jQuery(window).on('load',function() { 
 /* code goes here*/ 
});