问题描述:
DWZ的panel面板比较常用,我们常常需要在其标题栏上再增加一个些按钮,如下图
问题出来了,增加按钮后,点面板收缩按钮,增加的按钮就消失了
而且面板收缩的click事件,也跟新增的按钮绑定了,
这样导致面板无法使用,还好是开源代码,研究其代码就能解决问题

/**
* @author Roger Wu
* @version 1.0
*/ function S4() {
return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
} (function ($) {
$.extend($.fn, {
jPanel: function (options) {
var op = $.extend({ header: "panelHeader", headerC: "panelHeaderContent", content: "panelContent", coll: "collapsable", exp: "expandable", footer: "panelFooter", footerC: "panelFooterContent" }, options);
return this.each(function () {
var $panel = $(this);
var close = $panel.hasClass("close");
var collapse = $panel.hasClass("collapse"); var $content = $(">div", $panel).addClass(op.content);
var title = $(">h1", $panel).wrap('<div class="' + op.header + '"><div class="' + op.headerC + '"></div></div>');
var buttonid = "panel_" + S4();
if (collapse) $("<a id=\"" + buttonid + "\" href=\"\"></a>").addClass(close ? op.exp : op.coll).insertAfter(title); var header = $(">div:first", $panel);
var footer = $('<div class="' + op.footer + '"><div class="' + op.footerC + '"></div></div>').appendTo($panel); var defaultH = $panel.attr("defH") ? $panel.attr("defH") : 0;
var minH = $panel.attr("minH") ? $panel.attr("minH") : 0;
if (close)
$content.css({
height: "0px",
display: "none"
});
else {
if (defaultH > 0)
$content.height(defaultH + "px");
else if (minH > 0) {
$content.css("minHeight", minH + "px");
}
}
if (!collapse) return;
var $pucker = $("#" + buttonid);
var inH = $content.innerHeight() - 6;
if (minH > 0 && minH >= inH) defaultH = minH;
else defaultH = inH;
$pucker.click(function () {
if ($pucker.hasClass(op.exp)) {
$content.jBlindDown({
to: defaultH, call: function () {
$pucker.removeClass(op.exp).addClass(op.coll);
if (minH > 0) $content.css("minHeight", minH + "px");
}
});
} else {
if (minH > 0) $content.css("minHeight", "");
if (minH >= inH) $content.css("height", minH + "px");
$content.jBlindUp({
call: function () {
$pucker.removeClass(op.coll).addClass(op.exp);
}
});
}
return false;
});
});
}
});
})(jQuery);

解决DWZ(JUI)的panel 点击关闭或者打开按钮 自己写的标签消失的更多相关文章

  1. DWZ(JUI) 教程 左侧栏默认是关闭状态的问题

    DWZ(JUI) 教程 左侧栏默认是关闭状态的问题,初始化是全屏状态,只需简单处理就可以了 $(function(){ DWZ.init("dwz.frag.xml", { log ...

  2. DWZ (JUI) 教程 DWZ中dialog层的刷新

    在DWZ开发过程中经常会遇到的一种情况就是:在navTab页面中通过a标签打开一个dialog,在dialog层进行操作后,需要对该dialog层进行必要的刷新操作. 1.首先讲一下思路: 在非dia ...

  3. Dwz(J-UI)框架--入门

    http://www.cnblogs.com/chenyongsai/p/4933982.html Dwz(J-UI)框架--入门 一.了解 概述:是中国人自己开发的基于jQuery实现的Ajax R ...

  4. django xadmin中logout页面在chrome浏览器中点击关闭页面无效

    问题现象 django xadmin中logout页面在chrome浏览器中点击关闭页面无效,无法关闭相应的页面 问题原因 高版本的chrome等浏览器不支持在window.colse()的写法 问题 ...

  5. 关于KB905474正版验证补丁破解办法 KB905474是个微软操作系统正版/盗版监测间谍软件。更新安装后,右下角有个提示说“系统监测到你的操作系统是盗版”。 如果没有安装的: 在系统提示更新的时候注意看一下,如果包含有“更新KB905474”就去掉“更新KB905474”方框前的勾,点击关闭(注意如果没有去掉那个勾得话,会找不到“关闭”,而是“确定”),在不在提示我该消息前打勾。 如果已经安装

    关于KB905474正版验证补丁破解办法 KB905474是个微软操作系统正版/盗版监测间谍软件.更新安装后,右下角有个提示说“系统监测到你的操作系统是盗版”. 如果没有安装的: 在系统提示更新的时候 ...

  6. bootstrap 模态框禁用空白处点击关闭

    bootstrap 3 模态框为信息编辑窗口,默认点击空白处会自动关闭,但是有的时候这个功能需要关闭,比如编辑信息,一不小心点击了空白处,那就要重新编辑了. bootstrap 3 模态框禁用空白处点 ...

  7. Duilib 实现窗口点击关闭确认退出提示

    此功能是记住用户的操作,在用户点击关闭时是真退出程序还是最小化到托盘,我们常见的PC客户端都有此功能,例如:IMO客户端.网易云音乐 我自己的项目中也要实现此功能,在此总结一下,最终效果: .h文件 ...

  8. 解决在iOS8环境下,当用户关闭定位服务总开关时,无法将APP定位子选项加入定位权限列表的问题

    关键点:- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizati ...

  9. DWZ (JUI) 教程 tree 控件的选中事件

    DWZ (JUI) 教程 tree 控件的选中事件 先简单说一下流程 第一步 当然是先定义好回调事件了 function checkCallback(json){ ........... ...... ...

随机推荐

  1. 2.Android 自定义通用的Item布局

    转载:http://www.jianshu.com/p/e7ba4884dcdd BaseItemLayout 简介 在工作中经常会遇到下面的一些布局,如图标红处: 05.png 07.png 08. ...

  2. 【poj3468】 A Simple Problem with Integers

    http://poj.org/problem?id=3468 (题目链接) 题意 给出一个序列,要求维护区间修改与区间求和操作. Solution 多年以前学习的树状数组区间修改又忘记了→_→. 其实 ...

  3. Hibernate学习-Hibernate查询语言HQL

    HQL(Hibernate Query Language)Hibernate查询语言,语法类似于SQL,可以直接使用实体类及属性. 使用HQL 可以避免使用JDBC 查询的一些弊端 不需要再编写繁复的 ...

  4. excel处理数字的时候避免自动转为double

    帮同事解决了一个POI解析Excel的功能,就是他想读出单元格中的原始内容,但是poi在处理数字的时候会自动转换为double了,这样对于一些对1和1.00有严格区分的场景下,会出现问题.我看网上很多 ...

  5. 连续赋值与求值顺序var a = {n:1};a.x = a = {n:2}; alert(a.x);

    代码如下: <script> var a = {n:1}; var b = a; a.x = a = {n:2}; console.log(a.x);// --> undefined ...

  6. C++ 第二次课堂作业(反转链表)

    题目链接: 传送门 GitHub链接: 传送门

  7. PL/0编译器(java version) – SymbolTable.java

    1: package compiler; 2: //竟然没有对符号表检查大小,会溢出的. 3:   4: import java.io.IOException; 5:   6: public clas ...

  8. Mysql备份还原数据库之mysqldump实例及参数详细说明

    [root@localhost myexport]# mysqldump -h211.100.75.204 -uroot -p@^#coopen -P5029 --single-transaction ...

  9. Python基本数据类型之list

    一.创建列表: li = [] li = list() name_list = ['alex', 'seven', 'eric'] name_list = list(['alex', 'seven', ...

  10. DiskFileItemFactory类

    将请求消息实体中的每一个项目封装成单独的DiskFileItem (FileItem接口的实现) 对象的任务由 org.apache.commons.fileupload.FileItemFactor ...