JQ: 有点历史框架Grails;1、弹出子窗口<frame>,2、弹出子窗口parent.layer.open;操作实现,关闭等实际开发遇到问题
一:
第一个问题:由于对于前端js知识不是很熟悉,在开始写弹窗时不知道使用那种方法,后面找到实现弹窗方法:
1、需要引入<g:javascript src="https://blog.csdn.net/weixin_46567616/article/details/jquery/jquery.js"/>,但不能再页面重复引入<g:javascript src="https://blog.csdn.net/weixin_46567616/article/details/jquery/jquery.min.js"/>,否则会报错(实现不了)
2、在主页面预留位置给子窗口,例如定义:
-
<div>
-
.......
-
<div id ='win'></div>
-
</div>
3、在按钮(自定义)处点击后在函数处实现:
-
function importData(){
-
-
jQuery('#win').window({
-
title : '批量导入',
-
width:800,
-
height:440,
-
modal:true, //true表示弹窗出现后主页面无法操作
-
minimizable :false,
-
maximizable:false,
-
collapsible:false,
-
content:"<iframe src='https://blog.csdn.net/weixin_46567616/article/details/${request.contextPath}/xxx/xxx' height='100%' width='100%' frameborder='0px' style='border: solid 0px;' ></iframe>",
-
onClose:function(){
-
$('#lt').datagrid('reload');
-
}
-
});
-
}
注意:代码中的src表示可跳转到子窗口内容的路径(本人是利用后台action进行跳转)
4、弹窗出现后如何更换标题,子窗口内容,高度,宽度等等:
-
parent.$('#win').window("setTitle", "修改用户");//更换标题
-
parent.$("#win").window('resize', {width:770, height:550});//更换宽高
-
parent.$("#win").window('center');//更换出现位置
子窗口内容可以在子窗口页面上直接跳转
5、如何关闭
-
//关闭窗口(#win是主页面的div)
-
parent.jQuery('#win').window('close')
-
//主页面重新加载
-
parent.location.reload();
额外知识:
函数表示加载页面随即加载该函数,可以在里面做初始化定时器等等功能。
-
<script>
-
-
jQuery(document).ready(function (){
-
time();
-
-
})
-
-
function time(){
-
if(${flash.message!=null}){
-
timeOutValue = timeOutValue - 1;
-
if (timeOutValue <= 0) {
-
timeOutValue = maxTime;
-
jQuery("#msg").hide();
-
}
-
setTimeout("time()", 1000); //每隔一秒监听一次
-
}
-
}
-
-
</script>
操作进行转圈:
-
<style>
-
.toast {
-
display: none;
-
position: fixed;
-
flex-direction: column;
-
justify-content: center;
-
align-items: center;
-
width: 9rem;
-
height: 9rem;
-
left: 50%;
-
top: 50%;
-
transform: translate(-50%, -50%);
-
background-color: rgba(0,0,0,0.2);
-
border-radius: 1rem;
-
color: #f0f0f0;
-
font-size: 2.5rem;
-
}
-
</style>
-
<script>
-
function onclick(){
-
//展示转圈
-
var toast = document.getElementById("toast");
-
toast.style.display="flex";
-
}
-
function ok(){
-
//关闭转圈展示
-
var toast = document.getElementById("toast");
-
toast.style.display="none";
-
}
-
</script>
-
<html>
-
......
-
<div class="toast" id="toast">
-
<span ><img src="${request.contextPath}\css\colorbox\images\loading.gif"></span>
-
<span>正在处理数据,请稍候...</span>
-
</div>
-
</html>
附件:动态转圈的gif图
二:
需要主页面导入弹窗的组件:
-
<!--parent.layer.open弹窗的组件-->
-
<g:javascript src="layui/layui-2.2.5/layui.all.js"/>
-
//本窗口是在已弹出窗口基础上点击按钮再次弹窗(还是在父类页面基础上弹窗)
-
parent.layer.open({
-
id: '666'
-
type: 2,
-
title: '',
-
shadeClose: false,
-
shade: 0.8,
-
area: ['530px', '370px'],
-
content: '${request.contextPath}/xxx'
-
});
更换弹窗标题:
-
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
-
parent.layer.title('批量导入', index) //再改变当前层的标题
关闭弹窗窗口:
-
var index = parent.layer.getFrameIndex(window.name);
-
parent.layer.close(index);
主页面重新加载
parent.location.reload();
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhiajeii
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22 -
excel打印预览压线压字怎么办
PHP中文网 06-22