有人可以告诉我为什么这个js函数不会在加载时运行吗?

时间:2013-09-05 08:12:22

标签: javascript jquery

我已经:

 //Resize tabs - height when window size changes. Don't forget to reset niceScroll
 function recalc_tab_height () {
    //
    var wrapper_h = $(".ui-panel-content-wrap").outerHeight();
    var content_h = $(".ui-content").outerHeight();
    var current_h = $(".tab1").outerHeight();
    var newHeight = (wrapper_h - content_h) + current_h;
    //
    $(".tab1, .tab2, .tab3").css({"height":newHeight}).getNiceScroll().resize();
 }
 //Run once onLoad
 recalc_tab_height();

这应该调整歌词部分的负载以适应屏幕。但它根本没有运行......任何想法为什么?它在ui.js里面

http://mac.idev.ge:800/mobile-radio/

6 个答案:

答案 0 :(得分:6)

$(function() {
    recalc_tab_height();
});

而不是你的最后一行。

$(...)$(document).ready(...)的快捷方式,只要您的网页完全加载就会执行,以便您可以处理DOM元素属性。

答案 1 :(得分:1)

试试这个:需要设置$(document).ready

$(document).ready(function(){

 //Run once onLoad
 recalc_tab_height();

});

答案 2 :(得分:1)

要加载此功能,您应该在身体上使用此功能

<body onload="recalc_tab_height();" >

或通过jquery

$(document).ready(function() {
  recalc_tab_height();
});

答案 3 :(得分:0)

当dom准备好时包装函数调用。像这样试试

$(document).ready(function(){
    recalc_tab_height();
});

答案 4 :(得分:0)

在文档“准备好”之前,无法安全地操作页面。 jQuery为您检测这种准备状态。只有在页面文档对象模型(DOM)准备好执行 JavaScript 代码后, $(document).ready()中包含的代码才会运行。包含在 $(window).load(function(){...})中的代码将在整个页面(图像或iframe)(而不仅仅是DOM)准备就绪后运行。

所以你必须在里面调用你的功能  $(document).ready({...});$(window).load(function() { ... });

答案 5 :(得分:0)

我将css()更改为animate()并且它可以正常工作。