遮罩层 + 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 相关文章推荐
CSS3中的注音对齐属性ruby-align用法指南
Jul 01 HTML / CSS
HTML5-WebSocket实现聊天室示例
Dec 15 HTML / CSS
浅谈HTML5 defer和async的区别
Jun 07 HTML / CSS
HTML5标签小集
Aug 02 HTML / CSS
在html5的Canvas上绘制椭圆的几种方法总结
Jan 07 HTML / CSS
HTML5 Canvas玩转酷炫大波浪进度图效果实例(附demo)
Dec 14 HTML / CSS
canvas 如何绘制线段的实现方法
Jul 12 HTML / CSS
HTML5实现移动端点击翻牌功能
Oct 23 HTML / CSS
关于webview适配H5上传照片或者视频文件的方法
Nov 04 HTML / CSS
HTML5页面音频自动播放的实现方式
Jun 21 HTML / CSS
css布局巧妙技巧之css三角示例的运用
Mar 16 HTML / CSS
CSS子盒子水平和垂直居中的五种方法
Jul 23 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
服务器端解压缩zip的脚本
2006/12/22 PHP
php实现批量上传数据到数据库(.csv格式)的案例
2017/06/18 PHP
PHP高效获取远程图片尺寸和大小的实现方法
2017/10/20 PHP
基于jquery的一个简单的脚本验证插件
2010/04/05 Javascript
jQuery图片滚动图片的效果(另类实现)
2013/06/02 Javascript
JQUERY dialog的用法详细解析
2013/12/19 Javascript
Vue弹出菜单功能的实现代码
2018/09/12 Javascript
从vue源码看props的用法
2019/01/09 Javascript
微信小程序sessionid不一致问题解决
2019/08/30 Javascript
对layui初始化列表的CheckBox属性详解
2019/09/13 Javascript
微信小程序之左右布局的实现代码
2019/12/13 Javascript
使用PreloadJS加载图片资源的基础方法详解
2020/02/03 Javascript
详解Vue之计算属性
2020/06/20 Javascript
VUE中鼠标滚轮使div左右滚动的方法详解
2020/12/14 Vue.js
[15:35]教你分分钟做大人:天怒法师
2014/10/30 DOTA
[22:59]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
让python json encode datetime类型
2010/12/28 Python
python3生成随机数实例
2014/10/20 Python
关于反爬虫的一些简单总结
2017/12/13 Python
Django中cookie的基本使用方法示例
2018/02/03 Python
python检索特定内容的文本文件实例
2018/06/05 Python
Python使用Shelve保存对象方法总结
2019/01/28 Python
用python查找统一局域网下ip对应的mac地址
2021/01/13 Python
python单例模式的应用场景实例讲解
2021/02/24 Python
HTML5之WebGL 3D概述(上)—WebGL原生开发开启网页3D渲染新时代
2013/01/31 HTML / CSS
HTML5移动端手机网站开发流程
2016/04/25 HTML / CSS
Otticanet澳大利亚:最顶尖的世界名牌眼镜, 能得到打折季的价格
2018/08/23 全球购物
《在山的那边》教学反思
2014/02/23 职场文书
大学生党员自我评价范文
2014/04/09 职场文书
幼儿园家长评语大全
2014/04/16 职场文书
考试作弊检讨
2015/01/27 职场文书
收入证明怎么写
2015/06/12 职场文书
评估“风险”创业计划的几大要点
2019/08/12 职场文书
致创业您:正能量激励人心句子(48条)
2019/08/15 职场文书
浅谈MySQL 亿级数据分页的优化
2021/06/15 MySQL
浅谈哪个Python库才最适合做数据可视化
2021/06/28 Python