<html lang="zh-cn">
<head>
<meta charset="utf-8" />
<title>d出居中动画提示框</title>
<style>
#login{
position: relative
display: none
top: 20px
left: 30px
background: #fff
text-align: center
border: solid 1px
padding: 10px
z-index: 1
position:fixed!important/*FF、IE7*/
position:absolute/*IE6*/
_top:expression(eval(document.compatMode &&
document.compatMode=='CSS1Compat') ?
documentElement.scrollTop + (document.documentElement.clientHeight-this.offsetHeight)/2 :
document.body.scrollTop + (document.body.clientHeight - this.clientHeight)/2)
}
</style>
<script type="text/javascript">
var W = screen.width //取屏幕分辨率宽
var H = screen.height //取屏幕分辨率高
function M(id){return document.getElementById(id)} //用M()方法代替document.getElementById(id)
function MC(t){return document.createElement(t)} //用MC()方法代替document.createElement(t)
function isIE(){return (document.all &&window.ActiveXObject &&!window.opera) ? true : false}//判断浏览器是否为IE
//取得页面的高宽
function getBodySize(){
var bodySize = []
with(document.documentElement){
bodySize[0] = (scrollWidth >clientWidth) ? scrollWidth : clientWidth //如滚动条宽大于页面宽,取滚动条宽,否则取页面宽
bodySize[1] = (scrollHeight >clientHeight) ? scrollHeight : clientHeight //如滚动条高大于页面高,取滚动条高,否则取页面高
}
return bodySize
}
//创建遮盖层
function popCoverDiv(){
if (M("cover_div")) {
//如果存在遮盖层,则让其显示
M("cover_div").style.display = "block"
}
else {
//否则创建遮盖层
var coverDiv = MC("div")
document.body.appendChild(coverDiv)
coverDiv.id = "cover_div"
with(coverDiv.style) {
position = "absolute"
background = "#000"
left = "0px"
top = "0px"
var bodySize = getBodySize()
width = bodySize[0] + "px"
height = bodySize[1] + "px"
zIndex = 0
//判断是否是ie,并为ie和FF等用不同的方法设置层的半透明
if (isIE()) {filter = "Alpha(Opacity=60)"}
else {opacity = 0.6}
}
}
}
//让登陆层显示为块
function showLogin(){
var login=M("login")
login.style.display = "block"
}
//设置login层的样式
function change(){
var login = M("login")
login.style.position = "absolute"
login.style.border = "1px solid #CCCCCC"
login.style.background ="#F6F6F6"
var i = 0
popChange(i)//调用让DIV层大小循环增大的函数
}
//让DIV层大小循环增大
function popChange(i){
var login = M("login")
var bodySize = getBodySize()
login.style.left = (bodySize[0]-i*i*4)/2+"px"
//login.style.top = (bodySize[1]/2-100-i*i)+"px"
login.style.top = H/2 + "px"
login.style.marginTop = -20 + "%"
login.style.width = i*i*4 + "px"
login.style.height = i*i*1.5+ "px"
if(i<=10){
i++
setTimeout("popChange("+i+")",10)//设置超时10毫秒
}
}
//打开DIV层
function open(){
change()
showLogin()
popCoverDiv()
void(0)//不进行任何 *** 作,如:<a href="#">aaa</a>
}
//关闭DIV层
function close(){
M("login").style.display = "none"
M("cover_div").style.display = "none"
void(0)
}
</script>
</head>
<body>
<a href="###" id="openDIV">登陆</a>
<div id="login">
<h1>用户登陆</h1>
<a href="###" id="closeDIV">关闭</a>
</div>
<script>
//绑定click打开和关闭d出层事件
function addEvent(obj,type,handle){
try {
obj.addEventListener(type,handle,false)// Chrome、FireFox、Opera、Safari、IE9+
}
catch(e) {
try {
obj.attachEvent('on' + type,handle)// IE8.0及以下
}
catch(e) {
obj['on' + type] = handle//更早期浏览器
}
}
}
var openEL = document.getElementById("openDIV")
var closeEL = document.getElementById("closeDIV")
addEvent(openEL,"click",open)//监听
addEvent(closeEL,"click",close)
</script>
<p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p>
<p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p>
<p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p>
<p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p>
<p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p>
<p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p>
</body>
</html>
js中alert()方法就可以实现这种效果。种效果常用于表单验证时d出提示信息。
下面是用jquery编写的表单验证的简单例子:
<html><body>
<script type="javascript/text" src="jquery.js"></script>
<form id="form" method="post" action="">
性别:男<inpyt type="radio" name="sex" value="0">女<inpyt type="radio" name="sex" value="1">
<inpyt type="button" id="button" value="提交">
</form>
<script type="javascript/text">
$("#button"),click(function(){//提交按钮被点击触发
if($("input[name='sex']").is("checked")){//获取name为sex的input的对象并判断是否被选中
$("#form").submit()")//如果性别的单选按钮有被选择则提交表单
}else{
alert("请选择性别")//如果性别的单选按钮没有被选择则d出提示
}
})
</script>
</body>
</html>
1. 需要用到一个onchange( ) 事件,焦点变化的时候,通过ajax去获取数据库中的数据即可;2. 不推荐使用onclick( )事件,如果一个劲点击,不断发送ajax 请求,浪费资源。用onchange( )事件是最佳选择
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)