`
Cb123456
  • 浏览: 66120 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

js弹出层

    博客分类:
  • web
阅读更多

弹出层效果:

  
  

 

下面是在网上找的代码:

  

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>兼容火狐/IE7的可拖动弹出层</title>
<style type="text/css">
.button1 {background: #ebebeb;
border: 1px solid #888888;
color:#333333;
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
height:23px;
cursor:pointer }
</style>

<script language="javascript">
function alertWin(title, msg, w, h){
var s=document.getElementsByTagName("select"); //把所有select标签捉住
for(var j=0;j<s.length;j++){s[j].style.display="none";} //设为不显示,再进行下面操作


var titleheight = "20px"; // 提示窗口标题高度
var bordercolor = "#666699"; // 提示窗口的边框颜色
var titlecolor = "#FFFFFF"; // 提示窗口的标题颜色
var titlebgcolor = "#1d5798"; // 提示窗口的标题背景色
var bgcolor = "#FFFFFF"; // 提示内容的背景色
var iWidth = document.documentElement.clientWidth;
var iHeight = document.documentElement.clientHeight;
var bgObj = document.createElement("div");

bgObj.style.cssText = "position:absolute;left:0px;top:0px;width:"+iWidth+"px;height:"+Math.max(document.body.clientHeight, iHeight)+"px;filter:Alpha(Opacity=30);opacity:0.3;background-color:#000000;z-index:101;";
document.body.appendChild(bgObj);


//设置替换:
var msgObj=document.createElement("div");
msgObj.style.cssText = "position:absolute;font:11px '宋体';top:"+(iHeight-h)/2+"px;left:"+(iWidth-w)/2+"px;width:"+w+"px;height:"+h+"px;text-align:center;border:1px solid "+bordercolor+";background-color:"+bgcolor+";padding:1px;line-height:22px;z-index:102;";
document.body.appendChild(msgObj);

var table = document.createElement("table");
msgObj.appendChild(table);
table.style.cssText = "margin:0px;border:0px;padding:0px;";
table.cellSpacing = 0;
var tr = table.insertRow(-1);
var titleBar = tr.insertCell(-1);
titleBar.style.cssText = "width:100%;height:"+titleheight+"px;text-align:left;padding:3px;margin:0px;font:bold 13px '宋体';color:"+titlecolor+";border:1px solid " + bordercolor + ";cursor:move;background-color:" + titlebgcolor;
titleBar.style.paddingLeft = "10px";
titleBar.innerHTML = title;

var moveX = 0;
var moveY = 0;
var moveTop = 0;
var moveLeft = 0;
var moveable = false;
var docMouseMoveEvent = document.onmousemove;
var docMouseUpEvent = document.onmouseup;

titleBar.onmousedown = function() {
var evt = getEvent();
moveable = true;
moveX = evt.clientX;
moveY = evt.clientY;
moveTop = parseInt(msgObj.style.top);
moveLeft = parseInt(msgObj.style.left);

document.onmousemove = function() {
if (moveable) {
var evt = getEvent();
var x = moveLeft + evt.clientX - moveX;
var y = moveTop + evt.clientY - moveY;
if ( x > 0 &&( x + w < iWidth) && y > 0 && (y + h < iHeight) ) {
msgObj.style.left = x + "px";
msgObj.style.top = y + "px";
}
}
};
document.onmouseup = function () {
if (moveable) {
document.onmousemove = docMouseMoveEvent;
document.onmouseup = docMouseUpEvent;
moveable = false;
moveX = 0;
moveY = 0;
moveTop = 0;
moveLeft = 0;
}
};
}
var closeBtn = tr.insertCell(-1);
closeBtn.style.cssText = "cursor:pointer; padding:2px;background-color:" + titlebgcolor;
closeBtn.innerHTML = "<span style='font-size:15pt; color:"+titlecolor+";'>×</span>";
closeBtn.onclick = function(){
for(var j=0;j<s.length;j++){s[j].style.display="";} //select显出来
document.body.removeChild(bgObj);
document.body.removeChild(msgObj);
}
var msgBox = table.insertRow(-1).insertCell(-1);
msgBox.style.cssText = "font:10pt '宋体';";
msgBox.colSpan  = 2;
msgBox.innerHTML = msg;
// 获得事件Event对象,用于兼容IE和FireFox
function getEvent() {
return window.event || arguments.callee.caller.arguments[0];
}
}
</script>
</head>
<body>
<input type="button"  value="  点这里  " class="button1" onclick="alertWin('标题','这里是内容哦,写在这儿',600,150);" />
<select>
<option>获得事件Event对象,用于兼容IE和FireFox</option>
</select>
</body>
</html>

 

 开始分析:

 一.上面的代码不是H5的,因为命名空间问题

 二.然后就是<style>,这个很明显是给button写的,其中有个cursor属性,就是当鼠标移到button上面,鼠标变成手指形状

 三.然后进入JS代码:

   1.首先就是把 所有select标签的内容通过for循环,进行不显示

   2.通过document创建了一个div,并且这个div是绝对定位,并且left:0px;top:0px;还有透明度的设置,也就是说:这个div就是弹出层的那个大背景。

   3.又通过document创建了一个div,并且这个div的位置,比如:top是(IHeight-h)/2;也就是说这个div就是内容弹出栏所在的那个背景

   4.通过document创建了一个table,其中titleBar.innerHTML = title;很明显的告诉我们,那个标题、这里是内容哦,写在这儿等都是放在table中的,

   5.其中onmousemove和onmousedown应该结合这看,鼠标titlebar后,可以把弹出栏进行移动,并进行判断,就是是否超出client的高、宽,在鼠标up后,进行释放

   6.这个就比较巧妙了,通过closeBtn的click事件,移除内容.

   7.当然还有cssText的使用

  • 大小: 12.6 KB
分享到:
评论

相关推荐

    JavaScript弹出层

    JavaScript弹出层是网页开发中常见的一种交互设计,它用于在用户与页面交互时提供额外信息、确认操作或展示复杂内容。Js弹出层库则是专门为此目的设计的JavaScript库,简化了弹出层的创建和管理过程。在这个场景中,...

    可自定义js弹出层动画特效.zip

    在这个"可自定义js弹出层动画特效.zip"压缩包中,我们找到了一个JavaScript弹出层插件,它专门设计用来增强用户体验,提供多样化的弹出层显示方式。 首先,让我们了解一下弹出层(Popup Layer)的概念。弹出层是在...

    18种非常实用的js弹出层

    在前端开发中,JavaScript弹出层(也称为模态窗口或对话框)是不可或缺的交互元素,它们用于显示额外信息、获取用户输入或执行特定操作。"18种非常实用的js弹出层"集合提供了多种不同的实现方式,旨在帮助开发者在...

    javascript弹出层

    JavaScript弹出层是一种常见的网页交互元素,用于在用户与页面交互时显示额外信息或功能。在网页设计中,弹出层通常用来展示警告、提示、表单、图片、广告等,而无需离开当前页面。本篇文章将深入探讨如何使用...

    js弹出层并获取弹出层文本内容

    在"js弹出div获取弹出层中文本值"这个场景中,我们将讨论如何利用JavaScript实现这一功能,并确保它在主流浏览器如IE6+、Firefox(ff)等上兼容。 首先,我们需要创建一个可隐藏的div元素作为弹出层,然后在需要的...

    JS弹出层源代码

    3. **JavaScript逻辑**:JS主要用于控制弹出层的显示和隐藏。这可以通过改变元素的CSS属性(如display或visibility)来实现。同时,还可以添加事件监听器,如点击按钮触发弹出层,或者点击弹出层外的区域关闭弹出层...

    js弹出层 城市切换效果

    JavaScript(简称JS)是一种轻量级的脚本语言,广泛应用于网页和网络应用开发,实现动态内容、用户交互、...通过这些步骤,你可以构建一个功能完善的JavaScript弹出层城市切换效果,为用户提供流畅且直观的交互体验。

    js弹出层大集合里面有很多

    总的来说,JavaScript弹出层是一个广泛使用的功能,通过结合HTML、CSS和JavaScript,我们可以创建各种各样的弹出层效果,提高网页的互动性和用户体验。对于网页开发者来说,掌握弹出层的制作方法是必不可少的技能之...

    js弹出层实现

    标题中的“js弹出层实现”指的是在网页中使用JavaScript技术来创建弹窗或对话框的功能。这种功能在网页交互中十分常见,用于显示警告、提示、确认信息或者提供更丰富的用户界面元素。JavaScript,作为浏览器端的主要...

    JS弹出层,js弹出DIV效果源码下载

    本资源提供的"JS弹出层,js弹出DIV效果源码下载"是一个运用JQUERY库实现的此类效果。 jQuery是一个广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画设计和Ajax交互。jQuery的核心特性包括选择器、DOM...

    javascript弹出层效果!!

    js弹出层效果js弹出层效果js弹出层效果js弹出层效果js弹出层效果js弹出层效果js弹出层效果js弹出层效果js弹出层效果js弹出层效果

    js 弹出层(可用于图片的预览)

    JavaScript弹出层是一种常见的网页交互元素,常用于展示图片预览、消息提示或者表单填写等场景。在电商网站如凡客诚品和京东商城上,这种效果被广泛使用,以提供用户更好的浏览体验。本知识点将深入探讨如何利用...

    js弹出层效果

    此案例展示了如何创建一个兼容IE6、IE8、Firefox(FF)和Chrome等浏览器的JavaScript弹出层。 ### 一、弹出层概述 在网页设计中,弹出层是一种常见的交互方式,用于展示额外的信息或功能。它通过JavaScript动态...

    Js弹出层(支持拖拽,多个弹窗自动切换层级)

    由于没有具体的描述内容,我们主要依据标题来深入讨论JavaScript弹出层的实现原理和相关技术。 **JavaScript弹出层实现** 1. **基本结构**:通常,一个弹出层由HTML元素(如`div`)组成,设置为绝对或固定定位,以...

    js 弹出层之间值得传递

    总之,通过合理的编程技巧和设计模式,可以有效地在JavaScript弹出层之间传递值,提高应用程序的交互性和灵活性。在实际项目中,应根据具体需求选择合适的方法,同时注意代码的可维护性和性能优化。

    js弹出层 下载直接用

    综上所述,"js弹出层 下载直接用"的资源提供了完整的弹出层实现,涵盖了从HTML结构到JavaScript逻辑,再到CSS样式和图片资源的全套解决方案,是学习和快速应用JavaScript弹出层功能的良好实例。

    JS弹出层大集合。很多好用的JS弹出层代码

    JavaScript(简称JS)弹出层是一种常见的网页交互设计,它可以在用户与网页交互时弹出一个浮动窗口,显示额外的信息、提示或者进行某些操作。在网页开发中,弹出层通常用于实现模态对话框、警告提示、信息确认、表单...

    js弹出层table运用

    在JavaScript的世界里,弹出层(也称为模态对话框)是一种常见的用户界面设计元素,用于在当前页面上显示额外信息或执行特定操作,而不会中断用户的浏览流程。本话题将深入探讨如何利用JS实现一个可移动的弹出层,并...

    简单好用的JS 弹出层代码

    在网页开发中,JavaScript(JS)常常用于实现各种交互效果,其中之一就是弹出层功能。弹出层在用户界面上创建了一个临时突出显示的区域,用于显示额外的信息、提示、表单或者任何需要用户注意的内容,而不会中断主...

Global site tag (gtag.js) - Google Analytics