遮罩层 + Iframe实现界面自动显示的示例代码


Posted in HTML / CSS onApril 26, 2020

前言

这周由于科三的考试耽误了两天,提前一天要去熟悉考场,第二天要考试,好在第二天晚上赶回来了,两天没敲代码就感觉别扭,这周写了点日志系统,写了点作业系统,果然技术还不到家,思路上出了点小问题。

效果

在教师评阅作业时,先把学生的作业展现出来,然后关掉界面进行评分
(用百度主页做演示)

遮罩层 + Iframe实现界面自动显示的示例代码

Iframe

iframe 用于在网页内显示网页,实现它的方法有多种:

<iframe src="URL"></iframe>

URL 指向隔离页面的位置,由于当时对src有误解,所以没有选用这种方法。

<iframe src="demo_iframe.htm" name="iframe_a"></iframe>
<p><a href="http://www.w3school.com.cn" target="iframe_a">W3School.com.cn</a></p>

要想让iframe显示a标签里链接的内容,就要使得iframe标签里的name属性与a标签里的target属性相等,这样的话,点击a标签的链接就能在iframe里显示相应的内容了。
于是当时的代码是:

<iframe height="500px" width="100%" name="iframe_work"></iframe>
<p><a target="iframe_work" style="display: none"
[href]="protocol + '//' + (this.work.student.no + '.' + host + '/' + getWorkDir()) | safeUrl"
#linkToWork>点击查看</a>
</p>
public load() {
    this.workService.getById({id: this.params.workId})
      .subscribe((data) => {
        this.work = data;
        this.goToWork();
      }, () => {
        console.log('error');
      });
  }
goToWork(): void {
this.linkToWork.nativeElement.click();
}

当时出来的效果是这样的但是有很大的缺陷,就是显示网页的窗口很小,学生的作业根本看不全,需要拖动底部和侧栏的滚动条。

遮罩层 + Iframe实现界面自动显示的示例代码

Iframe + 遮罩层

遮罩层就是为了把下方的界面挡起来,然后让ifream的内容显示在遮罩层上,以实现全屏显示学生作业内容的效果,代码如下:

<div class="mask" *ngIf="showPopWindow">
 <iframe  class="popWindow"  height="500px" width="100%" name="iframe_work"></iframe>
<p><a target="iframe_work" style="display: none"
[href]="protocol + '//' + (this.work.student.no + '.' + host + '/' + getWorkDir()) | safeUrl"
#linkToWork>点击查看</a>
</p>
</div>

有关遮罩层的使用可以看一下这个文档:5 定制提示框【前】

问题

利用showPopWindow这个属性控制遮罩层显示与否,后来就出现了这样的问题:

遮罩层 + Iframe实现界面自动显示的示例代码
 

这就说明 #inkToWork 所在的a标签的内容还未渲染出来,那找这个元素就找不到,也就没法实现点击,一开始控制遮罩层的变量为true,但是里面的内容渲染不出来,后来解决了好久,也是不行。

解决

后来晚上开会的时候说了这个问题,才发现这个问题真的挺好解决的,但是自己钻牛角尖了,之前一直以为src加的是文件,现在才知道能加链接,也是当时文档没看太明白吧,后来就改成了这个样子:

<div class="mask" *ngIf="showPopWindow">
  <iframe class="popWindow" height="94%" width="100%"  src="https://www.baidu.com/"></iframe>
  <button type="button" class="btn btn-primary btn-lg btn-block" (click)="exitPopWindow()">退出预览</button>
</div>

总结

在写功能之前,真的要好好看文档,每一种方法都认真看看,不然用的时候真的会吃大亏。

到此这篇关于遮罩层 + Iframe实现界面自动显示的示例代码的文章就介绍到这了,更多相关遮罩层 Iframe界面自动显示内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

HTML / CSS 相关文章推荐
CSS中一些@规则的用法小结
Mar 09 HTML / CSS
CSS3教程:background-clip和background-origin
Oct 17 HTML / CSS
CSS3模块的目前的状况分析
Feb 24 HTML / CSS
详解移动端HTML5音频与视频问题及解决方案
Aug 22 HTML / CSS
Html5新增标签与样式及让元素水平垂直居中
Jul 11 HTML / CSS
html5 兼容IE6结构的实现代码
May 14 HTML / CSS
浅谈html5标签css3的常用样式
Oct 20 HTML / CSS
详解移动端HTML5页面端去掉input输入框的白色背景和边框(兼容Android和ios)
Dec 15 HTML / CSS
html+js 实现markdown编辑器效果
Oct 23 HTML / CSS
Html+Css+Jquery实现左侧滑动拉伸导航菜单栏的示例代码
Mar 17 HTML / CSS
HTML+CSS制作心跳特效的实现
May 26 HTML / CSS
html form表单基础入门案例讲解
Jul 21 HTML / CSS
html5中使用hotcss.js实现手机端自适配的方法
Apr 23 #HTML / CSS
html5 canvas 实现光线沿不规则路径运动
Apr 20 #HTML / CSS
基于HTML5+tracking.js实现刷脸支付功能
Apr 16 #HTML / CSS
HTML中meta标签及Keywords
Apr 15 #HTML / CSS
详解移动端h5页面根据屏幕适配的四种方案
Apr 15 #HTML / CSS
html5移动端自适应布局的实现
Apr 15 #HTML / CSS
HTML里显示pdf、word、xls、ppt的方法示例
Apr 14 #HTML / CSS
You might like
4月1日重磅发布!《星际争霸II》6.0.0版本更新
2020/04/09 星际争霸
利用curl 多线程 模拟 并发的详解
2013/06/14 PHP
php中字符查找函数strpos、strrchr与strpbrk用法
2014/11/18 PHP
php自定义函数实现JS的escape的方法示例
2016/07/07 PHP
php面向对象程序设计中self与static的区别分析
2019/05/21 PHP
PHP实现文件上传与下载
2020/08/28 PHP
javascript Keycode对照表
2009/10/24 Javascript
使用js获取QueryString的方法小结
2010/02/28 Javascript
jquery bind(click)传参让列表中每行绑定一个事件
2014/08/06 Javascript
jQuery中innerWidth()方法用法实例
2015/01/19 Javascript
自己动手手写jQuery插件总结
2015/01/20 Javascript
《JavaScript高级编程》学习笔记之object和array引用类型
2015/11/01 Javascript
sso跨域写cookie的一段js脚本(推荐)
2016/05/25 Javascript
easyui form validate总是返回false的原因及解决方法
2016/11/07 Javascript
JavaScript优化以及前段开发小技巧
2017/02/02 Javascript
jQuery开源组件BootstrapValidator使用详解
2017/06/29 jQuery
JS实现按钮颜色切换效果
2020/09/05 Javascript
Angular5升级RxJS到5.5.3报错:EmptyError: no elements in sequence的解决方法
2018/04/09 Javascript
AngularJS实现与后台服务器进行交互的示例讲解
2018/08/13 Javascript
layui实现数据分页功能(ajax异步)
2019/07/27 Javascript
vue 中使用print.js导出pdf操作
2020/11/13 Javascript
Python设计模式之备忘录模式原理与用法详解
2019/01/15 Python
举例讲解Python常用模块
2019/03/08 Python
python tkinter控件布局项目实例
2019/11/04 Python
使用pandas实现连续数据的离散化处理方式(分箱操作)
2019/11/22 Python
关于Python3 lambda函数的深入浅出
2019/11/27 Python
centos7中安装python3.6.4的教程
2019/12/11 Python
Html5获取高德地图定位天气的方法
2019/12/26 HTML / CSS
阿根廷网上配眼镜:SmartBuyGlasses阿根廷
2016/08/19 全球购物
TUMI新加坡官网:国际领先的商旅箱包品牌
2019/01/12 全球购物
CK澳大利亚官网:Calvin Klein澳大利亚
2020/12/12 全球购物
写给女生的道歉信
2014/01/08 职场文书
会计毕业自我鉴定
2014/02/05 职场文书
公司请假条范文
2014/04/11 职场文书
村级换届选举方案
2014/05/10 职场文书
深入理解python协程
2021/06/15 Python