无法在初始加载期间设置表高度

Unable to set Table height during initial load

本文关键字:设置 高度 加载      更新时间:2023-09-26

我正在使用Kendo tabstrip和load tree view(在一个表内)

我正在根据窗口大小设置保存树的表的高度,当窗口调整大小时,一切工作正常,但由于某种原因,我无法在应用程序的初始加载期间设置表的高度。我正在调用的函数是当窗口调整大小时调用的相同的,

 $(document).ready(function()
setTimeout(function() { update_size(); }, 250);
.....

但即使这样表没有得到适当的大小(特别是在一些屏幕分辨率-例如:1280*1024)在初始加载,但当我调整屏幕的大小,表得到适当的大小…

    var update_size = function() {
        var height = $(this).height() - ($("#vertical").height()+30);
        $('#dictionaryTree').height(height-120);
        $('#groupTree').height(height-120);
    }
    $(window).resize(function() {
        clearTimeout(window.refresh_size);
        window.refresh_size = setTimeout(function() { update_size(); }, 250);
    });

这种情况经常发生,因为当您尝试设置元素的大小时,元素仍然没有呈现,然后KendoUI进入显示元素并重新计算大小。

当你调整窗口的大小时,元素已经呈现了,然后就没有问题了。

在加载页面内容和调用KendoUI小部件初始化(例如,在dataBound事件中)之后尝试调整大小。

使用剑道树的绑定事件。

如果你只依赖于一个神奇的设置超时函数,你永远不能100%确定树视图存在于页面中。