Изменение размера панели Jquery UI - PullRequest
0 голосов
/ 22 февраля 2010

Я использую панели Jquery Ui. ([http://code.google.com/p/ist-ui-panel/][1])

При загрузке приложения все нормально, как на разборных, перетаскиваемых и т. Д.

Но я хочу сделать панель разборной, нажимая на некоторые ссылки. Например:

Этот код будет запускаться при загрузке формы ....

$('#myNews').panel({
    'collapsible' :true,
    'stackable':false,
 });

HTML

<div  class="panel" id="myNews" >
<h3>Poll</h3>
<div>Some content</div>
</div>

Я хочу сделать 'разборной': ложь при нажатии на какую-то ссылку .... как это

$('#click1').click(function() {
   $('#myNews').panel({
      'collapseType':'slide-right',
      'collapsible':false,
    });
});

код выполняется без каких-либо ошибок, но при нажатии на ссылку "# click1" на "#myNews" не влияет.

Нужна помощь, пожалуйста.

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 03 апреля 2010

Я один из тех, кто стоит за ist-ui-panel, и Джесси был прав - на данный момент единственный способ для вас - использовать метод 'destroy' примерно так:

$(document).ready(function(){
    $('#click1').bind({
        'click': function() {
            $('#myNews').panel('destroy');
            $('#myNews').panel({
                'collapsible' :true,
                'collapseType':'slide-right',
                'stackable':true
            });
        }
    });


    $('#click2').bind({
        'click': function() {
            $('#myNews').panel('destroy');
            $('#myNews').panel({'collapsible': false});
        }
    });
});

Обратите внимание, вы должны явно уничтожить предыдущую панель перед созданием новой.

0 голосов
/ 22 февраля 2010

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

Программное обеспечение либо содержит ошибки, либо я его не понимаю. Поэтому вам придется выследить некоторые ошибки, но вы можете использовать метод уничтожения в этом виджете, чтобы полностью сбросить div, и затем сделать его панелью снова , как так:

$('#myNews').panel("destroy");
$('#myNews').panel(...

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...