2010-02-22 2 views
0

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

При загрузке приложения, все в порядке, как collasible, перетаскивание и т.д.

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

Этот код будет выполняться, когда форма загружается ....

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

код выполняется без ошибок, но «#myNews» не получает пострадавший, когда щелкнув ссылку «# click1».

Нужна помощь.

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

ответ

0

Если вы читали the uncompressed source code для этого виджета, оказывается, что то, что вы делаете, это только предполагается использовать для создания панелей, а не изменять их позже.

Основное программное обеспечение либо плохое, либо я его не понимаю. Таким образом, вы будете иметь, чтобы выследить некоторые ошибки, но вы можете использовать метод «уничтожить» на этом виджете, чтобы полностью восстановить DIV и затем сделать панель снова, например, так:

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

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

1

Я один за IST-UI-панели, и Джесси был прав - теперь единственный способ для вас, чтобы использовать «уничтожить» метод несколько как:

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

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

Смежные вопросы