Невозможно установить высоту стола во время начальной загрузки

Я использую полосу вкладок Kendo и загружаю дерево (внутри таблицы).

Я устанавливаю высоту таблицы, содержащей дерево, в зависимости от размера окна, все работает нормально, когда окно изменено, но по какой-то причине я не могу установить высоту таблицы во время начальной загрузки моего приложения. Я вызываю ту же функцию, которая вызывается при изменении размера окна при готовности,

 $(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);
    });

person Learner    schedule 09.01.2013    source источник
comment
$ (окно) .load (функция () {update_size ();});   -  person karacas    schedule 10.01.2013


Ответы (2)


Это происходит потому, что когда вы пытаетесь установить размер, элемент все еще не отображается, тогда KendoUI входит для отображения элемента и пересчитывает размеры.

Когда вы изменяете размер окна, элемент уже отображается, и тогда нет никаких проблем.

Попробуйте изменить размер после загрузки содержимого страницы и после инициализации виджетов KendoUI (например, в dataBound).

person OnaBai    schedule 09.01.2013

Используйте событие привязки данных дерева кендо.

Вы никогда не сможете быть на 100% уверены, что древовидное представление существует на странице, если вы полагаетесь только на волшебную функцию тайм-аута.

person Adrian Salazar    schedule 09.01.2013