jQuery MiniUI

标题: 关于多个panel,展开一个收缩其它panel的问题 [打印本页]

作者: ioco    时间: 2016-2-23 15:26:38     标题: 关于多个panel,展开一个收缩其它panel的问题

  1. function onpanelclick(e) {
  2.         var pan = e.sender;
  3.         var panel1 = mini.get("pm");
  4.         var panel2 = mini.get("tv");
  5.         var panel3 = mini.get("dt");
  6.         if (pan.id === 'pm') {
  7.             panel1.setExpanded(true);
  8.             panel2.setExpanded(false);
  9.             panel3.setExpanded(false);
  10.         }
  11.         else if (pan.id==='tv') {
  12.             panel1.setExpanded(false);
  13.             panel2.setExpanded(true);
  14.             panel3.setExpanded(false);
  15.         }
  16.         else if (pan.id === 'dt') {
  17.             panel1.setExpanded(false);
  18.             panel2.setExpanded(false);
  19.             panel3.setExpanded(true);
  20.         } else {
  21.             panel1.setExpanded(false);
  22.             panel2.setExpanded(false);
  23.             panel3.setExpanded(false);
  24.         }
  25.     }
复制代码
三个panel用onbuttonclick触发,展开一个时折叠其它,调试时发现setExpanded(true)生效,但在执行完毕后三个都会折叠并导致iframe刷新。[attach]7136[/attach]
作者: felt    时间: 2016-2-23 16:37:37

  1. function onButtonClick(e) {
  2.                 var p1 = mini.get("p1");
  3.                 var p2 = mini.get("p2");
  4.                 var p3 = mini.get("p3");
  5.                 if (e.sender.id == "p1") {
  6.                         if (p1.getExpanded()) {

  7.                         } else {
  8.                                 p2.setExpanded(false);
  9.                                 p3.setExpanded(false);
  10.                         }
  11.                 } else if (e.sender.id == "p2") {
  12.                         if (p2.getExpanded()) {

  13.                         } else {
  14.                                 p1.setExpanded(false);
  15.                                 p3.setExpanded(false);
  16.                         }
  17.                 } else {
  18.                         if (p3.getExpanded()) {

  19.                         } else {
  20.                                 p1.setExpanded(false);
  21.                                 p2.setExpanded(false);
  22.                         }
  23.                 }
  24.         }
复制代码
按你的逻辑应该这样
不过你这个可以用outlookbar这个控件,默认都这样的处理
作者: ioco    时间: 2016-2-23 17:24:54

felt 发表于 2016-2-23 16:37
按你的逻辑应该这样
不过你这个可以用outlookbar这个控件,默认都这样的处理 ...

就是这个效果




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2