遮罩,在指定元素上进行遮罩

2024-09-09 05:18
文章标签 进行 指定 元素 遮罩

本文主要是介绍遮罩,在指定元素上进行遮罩,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

废话不多说,直接上代码:

ps:依赖 jquer.js

1.首先,定义一个 Overlay.js 
代码如下:

/*遮罩 Overlay js 对象*/
function Overlay(options){//{targetId:'',viewHtml:'',viewWidth:'',viewHeight:''}try{this.state=false;//遮罩状态  true 激活,false 没有激活this.bgElementId='overlay_bg';this.bgElement=document.createElement('DIV');$(this.bgElement).attr('id',this.bgElementId);this.viewHtml=options['viewHtml'];this.viewPanel=document.createElement('DIV');this.viewWidth=options['viewWidth']|320;this.viewHeight=options['viewHeight']|25;$(this.viewPanel).css({'background-color':'#FFFFFF','border':'1px solid #237AD3','display':'none','width':this.viewWidth+'px','height':this.viewHeight+'px','z-index':'1002','position':'absolute','top':'0','right':'0'});//先隐藏$(this.viewPanel).append(this.viewHtml);this.targetId	=options['targetId'];this.targetElement=$('#'+this.targetId);$(this.bgElement).css({'display':'none'});//先隐藏$(this.bgElement).attr('class','bgOverlay');$(this.targetElement).css({'position':'relative'});//覆盖目标position设置为relative,便于覆盖物相对定位$(this.targetElement).append(this.bgElement);$(document.body).append(this.viewPanel);}catch(e){alert('Overlay,初始化失败!');}}Overlay.prototype.show=function (obj) { var that = this;$(that.bgElement).css({'display':'block'});//设置覆盖物的高度与覆盖目标保证一直(IE6下需要这样做方能撑开覆盖物)$(that.bgElement).css({'height':$(that.targetElement).height()+'px'});//获取鼠标点击坐标显示 可视面板var vp = $(obj).offset();var bgW = $(this.bgElement).width();var bgP = $(this.bgElement).offset();vp.top=vp.top-that.viewHeight-2;//调整位置//暂时只对左边界作调整处理var isLeftOverstep=false;while((vp.left+that.viewWidth)>(bgP.left+bgW)){isLeftOverstep=true;vp.left--;}if(isLeftOverstep){//如果越界并调整后,再调整5个像素,不至于挤在边上vp.left-=5;}$(this.viewPanel).css({'top':vp.top+'px','left':vp.left+'px','display':'block'});that.state=true;//激活遮罩
}
Overlay.prototype.hide=function () {var that = this;$(that.bgElement).css({'display':'none'});$(that.viewPanel).css({'display':'none'});that.state=true;//激活遮罩.state=false;//没有激活遮罩
}

2.页面引入下面的 overlay.css文件

代码如下:

/*遮罩样式\*/
.bgOverlay{ display: none;  position: absolute;  top: 0%;  left: 0%;  width: 100%;  height: 100%;  background-color: #C4C4C4;  z-index:1001;  -moz-opacity: 0.6;  opacity:.60;  filter: alpha(opacity=60);}


3.eg:
//创建一个遮罩对象 targetId:指的是被覆盖的元素ID(必填),<span style="font-family: Arial, Helvetica, sans-serif;">viewHtml:指遮罩启用后显示的框框的html内容(随你写,自由发挥,必填),</span><span style="font-family: Arial, Helvetica, sans-serif;">viewWidth:框框的宽度(默认320</span><span style="font-family: Arial, Helvetica, sans-serif;">可选</span><span style="font-family: Arial, Helvetica, sans-serif;">),viewHeight:'框框的高度(默认25可选),宽高可以根据自己需要调整</span>
var overlay=new Overlay({targetId:'dataListDiv',viewHtml:'测试'});

4.跑一下应该问题就不大了,大概流程就这样END;

这篇关于遮罩,在指定元素上进行遮罩的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1150267

相关文章

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

MySQL按时间维度对亿级数据表进行平滑分表

《MySQL按时间维度对亿级数据表进行平滑分表》本文将以一个真实的4亿数据表分表案例为基础,详细介绍如何在不影响线上业务的情况下,完成按时间维度分表的完整过程,感兴趣的小伙伴可以了解一下... 目录引言一、为什么我们需要分表1.1 单表数据量过大的问题1.2 分表方案选型二、分表前的准备工作2.1 数据评估

java -jar example.jar 产生的日志输出到指定文件的方法

《java-jarexample.jar产生的日志输出到指定文件的方法》这篇文章给大家介绍java-jarexample.jar产生的日志输出到指定文件的方法,本文给大家介绍的非常详细,对大家的... 目录怎么让 Java -jar example.jar 产生的日志输出到指定文件一、方法1:使用重定向1、

基于Python实现数字限制在指定范围内的五种方式

《基于Python实现数字限制在指定范围内的五种方式》在编程中,数字范围限制是常见需求,无论是游戏开发中的角色属性值、金融计算中的利率调整,还是传感器数据处理中的异常值过滤,都需要将数字控制在合理范围... 目录引言一、基础条件判断法二、数学运算巧解法三、装饰器模式法四、自定义类封装法五、NumPy数组处理

MySQL进行分片合并的实现步骤

《MySQL进行分片合并的实现步骤》分片合并是指在分布式数据库系统中,将不同分片上的查询结果进行整合,以获得完整的查询结果,下面就来具体介绍一下,感兴趣的可以了解一下... 目录环境准备项目依赖数据源配置分片上下文分片查询和合并代码实现1. 查询单条记录2. 跨分片查询和合并测试结论分片合并(Shardin

SpringBoot结合Knife4j进行API分组授权管理配置详解

《SpringBoot结合Knife4j进行API分组授权管理配置详解》在现代的微服务架构中,API文档和授权管理是不可或缺的一部分,本文将介绍如何在SpringBoot应用中集成Knife4j,并进... 目录环境准备配置 Swagger配置 Swagger OpenAPI自定义 Swagger UI 底

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指