[英]Can someone please tell me why this js function doesn't run on load?
我有:
//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中
嘗試
$(function() {
recalc_tab_height();
});
而不是最后一行。
$(...)
是$(document).ready(...)
的快捷方式,並且在頁面完全加載后立即執行,因此您可以處理DOM
元素屬性。
試試這個:需要設置$(document).ready
$(document).ready(function(){
//Run once onLoad
recalc_tab_height();
});
要加載此功能,您應該在身體上使用它作為
<body onload="recalc_tab_height();" >
或通過jQuery
$(document).ready(function() {
recalc_tab_height();
});
准備好dom后包裝函數調用。
$(document).ready(function(){
recalc_tab_height();
});
在文檔“ 准備就緒 ”之前,無法安全地操縱頁面。 jQuery為您檢測到這種就緒狀態。 $(document).ready()中包含的代碼僅在頁面文檔對象模型(DOM)准備好執行JavaScript代碼后才能運行。 一旦整個頁面(圖像或iframe)(不僅是DOM)准備就緒, $(window).load(function(){...})中包含的代碼將運行。
因此,您必須在$(document).ready({...});
內調用函數$(document).ready({...});
或$(window).load(function() { ... });
我將css()更改為animate(),並且有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.