2010-02-22 4 views
0

J'utilise des panneaux Jquery Ui. ([http://code.google.com/p/ist-ui-panel/][1])panneau JQuery UI redimensionnement sur clic

Lors du chargement de l'application, tout va bien comme collasible, draggable etc.

Mais je veux faire le pliable panneau en cliquant sur une links.fo ex:

Ce code sera exécuté lorsque le formulaire est en cours de téléchargement ....

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

le html

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

Je veux faire « pliable »: false lorsque vous cliquez sur un lien .... comme ce

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

le code est en cours d'exécution sans erreur, mais les « #myNews » ne se touchés quand cliquez sur le lien "# click1".

Besoin d'aide SVP.

Merci à l'avance

Répondre

0

Si vous lisez the uncompressed source code pour ce widget, il semble que ce que vous faites est destiné uniquement à être utilisé pour créer des panneaux, de ne pas les modifier par la suite.

Le logiciel sous-jacent est bogué ou je ne le comprends pas. Donc, vous devrez traquer quelques bugs, mais vous pouvez utiliser la méthode « détruire » sur ce widget pour réinitialiser le div complètement, et puis en faire un panneau à nouveau, comme ceci:

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

Comme je l'ai dit, c'est buggé ou je ne comprends pas - il y a une erreur soulevée par l'appel destroy que vous devez attraper, et les appels suivants pour faire de nouveaux panneaux font des panneaux, mais ils ne sont pas complètement corrects.

1

Je suis celui qui est derrière ist-ui panneau, et Jesse était juste - maintenant la seule façon pour vous est d'utiliser la méthode « détruire » un peu comme:

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

avis, vous devez explicitement détruisez le panneau précédent avant de faire un nouveau.