实现自己自定义的弹框和遮罩层

有的时候我们需要实现属于自己的弹框和弹出框的遮罩层效果,下面我给大家讲一下有javascript实现最简单的属于自己的弹框和弹框遮罩层效果,首先编写遮罩层的javascript,代码如下:

1、遮罩层js:

//获得坐标

function getPosition() {

var top = document.documentElement.scrollTop;

var left = document.documentElement.scrollLeft;

var height = document.documentElement.clientHeight;

var width = document.documentElement.clientWidth;

//top=500;

left = 500;

//height=0;

width = 500;

height = 300;

top = 300;

return { top: top, left: left, height: height, width: width };

}

//屏蔽输入,显示蒙板

function showMask(id) {

var obj = document.getElementById(id);

obj.style.width = document.body.clientWidth;

obj.style.height = document.body.clientHeight;

//            obj.style.height = window.screen.availHeight

obj.style.display = "block";

}

//隐藏蒙板

function hideMask(id) {

document.getElementById(id).style.display = "none";

}

//显示弹框

function showPop(id) {

showMask(‘mask‘);

var width = 300;  //弹出框的宽度

var height = 250;  //弹出框的高度

var obj = document.getElementById(id);

obj.style.display = "block";

obj.style.position = "absolute";

obj.style.zindex = "10";

obj.style.overflow = "hidden";

obj.style.width = width + "px";

obj.style.height = height + "px";

var Position = getPosition();

leftadd = (Position.width - width) / 2;

topadd = (Position.height - height) / 2;

obj.style.top = (Position.top + topadd) + "px";

obj.style.left = (Position.left + leftadd) + "px";

window.onscroll = function () {

var Position = getPosition();

obj.style.top = (Position.top + topadd) + "px";

obj.style.left = (Position.left + leftadd) + "px";

};

}

//隐含

function hidePop(id) {

hideMask(‘mask‘);

document.getElementById(id).style.display = "none";

}

遮罩层和弹框的html如下:

<input type="button" value="弹出弹框" onclick="showPop(‘tcc‘)"/>

<!--蒙板-->

<div id="mask" style="filter: Alpha(opacity=30); -moz-opacity: 0.3; -khtml-opacity: 0.3;

opacity: 0.3; background-color: #000; width: 100%; height: 100%; z-index: 200;

position: absolute; left: 0; top: 0; display: none; overflow: hidden;">

</div>

<!--蒙板结束-->

<!--弹出层---->

<div id="tcc" style="display:none;background-color:#00ffff;z-index: 201;">

<input type="button" value="隐藏弹出层" onclick="hidePop(‘tcc‘)"/>

</div>

利用以上的效果我们可以制作自定义的弹框了,弹框的内容也可以自定义了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-03 17:07:35

实现自己自定义的弹框和遮罩层的相关文章

easyUI弹框被遮罩层遮挡

项目中用到easyui 布局,用到north,west,center三个区域,且在center中间区域嵌入iframe标签.在主内容区做一些小提示弹窗(例如删除前的弹窗提示确认)时,会遇到遮罩问题,由于center区域是iframe嵌套的,所以里面的小弹窗无法覆盖页面的头部和左边目录栏. 情形一.点击提示弹窗里的确认后,提示弹窗消失: //warnTips为传入的值,例如successMask("确定要删除选中的数据吗?") function successMask(warnTips)

bootstrap弹框去除遮罩层效果

是通过css解决这个问题,核心css代码如下: .modal-backdrop { filter: alpha(opacity=0)!important; opacity: 0!important; } alpha和opacity通常是决定透明度. alpha和opacity区别是什么? 相同点:都是值为0表示完全透明,值为1表示完全不透明. 不同点:alpha可以应用元素特定的属性,只能作用于当前元素,其子元素不能继承,而opacity不仅仅作用于当前元素,也会影响子元素及其子子元素,具有继承

CodePush自定义更新弹框及下载进度条

CodePush 热更新之自定义更新弹框及下载进度 先来几张弹框效果图 非强制更新场景 image 强制更新场景 image 更新包下载进度效果 image 核心代码 这里的热更新Modal框,是封装成一个功能独立的组件来使用的,需不需要更新以及是否为强制更新等逻辑均在组件内实现 image UpdateComp 热更新组件核心代码如下: /** * Created by guangqiang on 2018/3/29. */ import React, {Component} from 're

element-ui 弹出框在遮罩层下面

title: element-ui 弹出框在遮罩层下面 date: 2020-03-18 11:37:45 tags: elementUI 给 <el-dialog></el-dialog>添加:modal-append-to-body="false"属性 <el-dialog title="提示" :visible.sync="isDialogShow" :modal-append-to-body="fa

自定义alert弹框,title不显示域名

问题: 系统默认的alert弹框的title会默认显示网页域名 解决办法: (function() { window.alert = function(name) { $(".tip").css("display", "block") $(".tip .content").html(name) } })() 调用:alert(name) 在页面中添加弹框元素,自定义其样式,默认隐藏

弹框和遮罩

遮罩可以用一个半透明的高度和宽度等于页面100%的div来做. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>东方证券</title> <meta name="description" content=""> <meta name="keywords" conten

自定义 popWindow弹框 工具包

前言:因为Android 没有像IOS一样的ActionSheet,虽然在github上看到有一些类似ActionSheet的库,总觉得不好用,不如自己写一个弹框通用类,样式全部自已来多好. Step 1 废话不多说,直接上代码. public class CustomPopWindow implements PopupWindow.OnDismissListener{ private static final String TAG = "CustomPopWindow"; priva

jQuery点击图片弹出大图遮罩层

使用jQuery插件HoverTreeShow弹出遮罩层显示大图 效果体验:http://hovertree.com/texiao/hovertreeshow/ 在开发HoverTreeTop项目的产品展示功能过程中,因为要把产品图片的大图显示给用户看,就使用jQuery制作了一个插件:HoverTreeShow ,使用该插件可以很方便的弹出图片的大图,已经运用在项目中了,除了上面链接的示例外,HoverTreeTop项目的产品展示也是一个实例,请访问链接:http://hovertree.co

C# Winform 实现自定义半透明loading加载遮罩层

在网页中通过div+css实现半透明效果不难,今天我们看看一种在winfrom中实现的方法: 效果图如下,正常时: 显示遮罩层时: 自定义遮罩层控件的源码如下: View Row Code 1 using System; 2 using System.Drawing; 3 using System.Windows.Forms; 4 using System.ComponentModel; 5   6 namespace MyOpaqueLayer 7 { 8 /// <summary> 9 /