jQuery MiniUI

标题: mini.Window关闭按钮,替代问题 [打印本页]

作者: caojun900828    时间: 2017-3-27 17:15:48     标题: mini.Window关闭按钮,替代问题

使用 var win1 = new mini.Window();控件,win1.set({
    showHeader:false
});

这样设置后,打开的新页面,就不展示头部了,自己写了一个关闭按钮(一个图片),用来关闭这个页面,

请问:
自定义的关闭按钮,如何写关闭方法,或者调用mini本来的关闭方法?
(使用了window.close(),这个方法关闭页面,比较慢,没有mini自带的关闭快)

作者: felt    时间: 2017-3-27 18:41:47

mini.get(id).hide()
mini-window的关闭是隐藏
作者: caojun900828    时间: 2017-3-27 22:12:00

felt 发表于 2017-3-27 18:41
mini.get(id).hide()
mini-window的关闭是隐藏

mini.get(id).hide(),这个,在打开的子页面,如何使用这句代码?
隐藏的话,下次打开,打开的页面会重新加载吗?
我想做成直接关闭的,有没有什么快速关闭的方法?
作者: caojun900828    时间: 2017-3-28 09:43:50

felt 发表于 2017-3-27 18:41
mini.get(id).hide()
mini-window的关闭是隐藏

请问,在打开的子页面,如何写mini.get(id).hide()?
作者: dforce    时间: 2017-3-28 10:43:25

caojun900828 发表于 2017-3-28 09:43
请问,在打开的子页面,如何写mini.get(id).hide()?

这就需要跨页面控制了
如果你要关闭可以考虑用mini.open,这个关闭是销毁的
也可以不显示头部
showHeader:false
子页面上关闭的话可以参考这个示例的子页面关闭方法
http://www.miniui.com/demo/#src=datagrid/datagrid.html
作者: caojun900828    时间: 2017-3-28 10:53:02

dforce 发表于 2017-3-28 10:43
这就需要跨页面控制了
如果你要关闭可以考虑用mini.open,这个关闭是销毁的
也可以不显示头部

你给我的例子,使用的是mini.open的方法,由于我的项目里涉及跨域,打开的新的jsp页面,必须要在iframe范围内,使用open的方法行不通,只能使用window方法,
在新的jsp页面,window.CloseOwnerWindow(),是可以关闭的,但是新的jsp页面内容很多,这个方法关闭,会出现等待几秒钟的情况,而使用window自带的X,关闭就很快,因此,我的解决思路,有2个
1,在新的jsp页面调用window.hide(),这个怎么调用?
2,修改新的jsp页面,关闭按钮,修改为我自定义的图片,这个又如何修改?
麻烦版主帮忙解答下,谢谢!
作者: dforce    时间: 2017-3-28 13:17:06

caojun900828 发表于 2017-3-28 10:53
你给我的例子,使用的是mini.open的方法,由于我的项目里涉及跨域,打开的新的jsp页面,必须要在iframe范 ...

[attach]9057[/attach]
下载这2个例子,t5.html,中间是个mini-window,可以里面的按钮关闭弹出。


作者: caojun900828    时间: 2017-3-28 14:23:05

dforce 发表于 2017-3-28 13:17
下载这2个例子,t5.html,中间是个mini-window,可以里面的按钮关闭弹出。

可以关闭了,请教个问题
我的window是动态弹出的,
var win1 = new mini.Window();
...
win1.showAtPost(...);
关闭方法,我写的是win1.hide();
父页面会有很多次(打开小页面)这个方法,
因为win1没有销毁,
这样会造成内存问题吧?
作者: dforce    时间: 2017-3-28 15:42:00

caojun900828 发表于 2017-3-28 14:23
可以关闭了,请教个问题
我的window是动态弹出的,
var win1 = new mini.Window();

你动态创建的就用win1.destroy()来销毁吧
作者: caojun900828    时间: 2017-3-28 16:40:44

dforce 发表于 2017-3-28 15:42
你动态创建的就用win1.destroy()来销毁吧

谢谢!
再问一个问题,请问,版主,在新的子页面,js模拟点击关闭按钮,.mini-tools-colse,这要怎么实现?
作者: dforce    时间: 2017-3-28 17:01:31

caojun900828 发表于 2017-3-28 16:40
谢谢!
再问一个问题,请问,版主,在新的子页面,js模拟点击关闭按钮,.mini-tools-colse,这要怎么实现 ...

这就是跨页面调用win.hide()了
作者: caojun900828    时间: 2017-3-29 21:12:02

dforce 发表于 2017-3-28 17:01
这就是跨页面调用win.hide()了

谢谢,已经解决,跨页面调用,就可以实现了,
由于window页面的东西很多,导致win1.destroy(),会出现卡顿,我的解决方法是,
关闭的时候,执行的是win1.hide();紧接着,执行
setTimeout(function(){win1.destroy();}, 1000);
延迟1秒执行,销毁,这样关闭就会很流畅,
销毁相当于在“后台“运行了




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