JQuery UI Layout: sizePane () сбрасывает мои настройки - PullRequest
1 голос
/ 08 февраля 2011

Доброе утро,

Похоже, что макет пользовательского интерфейса jQuery сбрасывает мои параметры после вызова sizePane (). Когда я загружаю следующее в FireFox, затем нажимаю кнопку «Изменить размер», северная панель внезапно становится изменяемой, и горячие клавиши снова включаются. Я делаю это неправильно? Или это ошибка?

<html>
<head><title>Layout Test</title></head>

<link href="css/jquery-ui.custom.css" rel="stylesheet" type="text/css">

<script type="text/javascript" src="js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.7.custom.min.js"></script>
<script type="text/javascript" src="js/jquery.layout-1.2.0.js"></script>

<script language="JavaScript">

jQuery(document).ready(documentReady);

    function documentReady(){

        jQuery('body').layout({

            defaults: {

                applyDefaultStyles: true

            },

            north: {

                enableCursorHotkey: false,
                closable: false,
                resizable: false

            },

            center: {


            }

        });

    }

</script>

<body>

    <div class="ui-layout-north">

        North Pane

    </div>

    <div class="ui-layout-center">

        Center Pane
        <input type="button" value="Resize" onclick="jQuery('body').layout().sizePane('north',100);" />

    </div>

</body>

Ответы [ 2 ]

5 голосов
/ 08 февраля 2011

ОК, я думаю, что нашел решение.При повторном вызове jQuery ('body'). Layout () мой предыдущий объект "layout" заменяется новым, с сбросом всех параметров.

Решение состоит в том, чтобы сохранить ссылку на оригиналобъявление и работа с этим объектом, например, так:

<html>
<head><title>Layout Test</title></head>

<link href="css/jquery-ui.custom.css" rel="stylesheet" type="text/css">

<script type="text/javascript" src="js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.7.custom.min.js"></script>
<script type="text/javascript" src="js/jquery.layout-1.2.0.js"></script>

<script language="JavaScript">

jQuery(document).ready(documentReady);

    var myLayout;

    function documentReady(){

        myLayout = jQuery('body').layout({

            defaults: {

                applyDefaultStyles: true

            },

            north: {

                enableCursorHotkey: false,
                closable: false,

            },

            center: {

                enableCursorHotkey: false,
                closable: false,

            }

        });

    }

</script>

<body>

    <div class="ui-layout-north">

        North Pane

    </div>

    <div class="ui-layout-center">

        Center Pane
        <input type="button" value="Resize" onclick="myLayout.sizePane('north',100);" />

    </div>

</body>
</html>

Кроме того, необходимо удалить опции «resizable: false», потому что в противном случае вызов sizePane () не будет иметь никакого эффекта.

0 голосов
/ 12 марта 2014

Вы можете добавить эту опцию на панель:

animatePaneSizing: true

...