easyui panel 最大化函数自定义
下面是将div方框显示在屏幕中央位置的代码:
<script language=javascript type="text/javascript">
function popupDiv(div_id) {
var div_obj = $("#"+div_id);
var windowWidth = document.body.clientWidth;
var windowHeight = document.body.clientHeight;
var popupHeight = div_obj.height();
var popupWidth = div_obj.width();
//添加并显示遮罩层
$("<div id='mask'></div>").addClass("mask")
.width(windowWidth + document.body.scrollWidth)
.height(windowHeight + document.body.scrollHeight)
.click(function() {hideDiv(div_id); })
.appendTo("body")
.fadeIn(200);
div_obj.css({"position": "absolute"})
.animate({left: windowWidth/2-popupWidth/2,
top: windowHeight/2-popupHeight/2, opacity: "show" }, "slow");
}
function hideDiv(div_id) {
$("#mask").remove();
$("#" + div_id).animate({left: 0, top: 0, opacity: "hide" }, "slow");
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div id='pop-div' style="width: 300px;" class="pop-box">
<h4>标题位置</h4>
<div class="pop-box-body" >
<p>
正文内容
</p>
<input id=btnClose type=button onclick="hideDiv('pop-div');" value="关闭"/>
</div>
</div>
<input type=button id=btnTest value='test' onclick="popupDiv('pop-div');"/>
</form>
</body>
下面我想把位于页面左边的panel,通过点击每个panel上的这个放大按钮来控制panel缩放,当点击最大化时,单个panel像上面的那个示例那样,淡出到屏幕最中央(宽高也同时变大),再点击时,panel恢复到原来的大小。
不知道我们自己能不能通过自定义max函数来操作。
data-options="iconCls:'icon-save',collapsible:true,minimizable:true,maximizable:true,closable:true"
如果按照网上例子给的写法,这个只能最大化到其父元素。无法达到我上面想做到的最大化屏幕正中央。
急求各位大神帮助!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
上面那个问题已经通过其他方式解决了,只是解决的不是很完美。谢谢楼上的回答啊。
解决方式是:
可以在tools工具中设置一个放大函数,自己去定义点击该图标的后续效果。只是这种做法,效果是有了,图标无法变换,没有缩小的图标。要是能借用panel自带的缩小放大图标,再能自定义该函数就最好了。
另外,请教iconCls:'icon-save',这个保存图标能自定义或起作用吗?我这里想把这个图标换成iconCls:'icon-reload',刷新图标,点击这个图标的时候,刷新panel中的内容。当然可以通过把这个图标写到tools中,就可以自定义刷新了,但定义到tools中的话,整个图标就会位于panel的右上方,而不是左上方。因为从布局上来说,panel左上方和右上方各有图标还是好看些。所以,想问问,我在左上方定义一个刷新的图标,用于刷新panel中的内容该怎么做呢?iconCls:'icon-save',这个写法不会仅仅是为了好看吧?