easyui panel 最大化函数自定义

发布于 2021-11-26 23:59:35 字数 4022 浏览 757 评论 1

下面是将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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

归途 2021-11-28 07:48:49

上面那个问题已经通过其他方式解决了,只是解决的不是很完美。谢谢楼上的回答啊。

解决方式是:

<div class="easyui-panel" style="width:300px;height:200px"
		title="My Panel" data-options="iconCls:'icon-ok',tools:'#tt'">
</div>
<div id="tt">
	<a href="#" class="icon-max" onclick="javascript:max"></a>
	<a href="#" class="icon-edit" onclick="javascript:alert('edit')"></a>
</div>

可以在tools工具中设置一个放大函数,自己去定义点击该图标的后续效果。只是这种做法,效果是有了,图标无法变换,没有缩小的图标。要是能借用panel自带的缩小放大图标,再能自定义该函数就最好了。

另外,请教iconCls:'icon-save',这个保存图标能自定义或起作用吗?我这里想把这个图标换成iconCls:'icon-reload',刷新图标,点击这个图标的时候,刷新panel中的内容。当然可以通过把这个图标写到tools中,就可以自定义刷新了,但定义到tools中的话,整个图标就会位于panel的右上方,而不是左上方。因为从布局上来说,panel左上方和右上方各有图标还是好看些。所以,想问问,我在左上方定义一个刷新的图标,用于刷新panel中的内容该怎么做呢?iconCls:'icon-save',这个写法不会仅仅是为了好看吧?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文