导读:上篇博客中,做好了个人中心的下拉菜单,这次,将做每个网站都会有的一个登录功能,以此类推,可以做出别的想要的弹出框,如错误提示啦,或者注册。

一、实现分析

首先:和下拉菜单一样,需要通过CSS样式将弹出登录框的基本样式设计好。

其次:需要控制弹出框弹出在屏幕显示的位置,所以需要一个固定位置的方法。

然后:浏览器可能会放大,缩小等,当出现这些状态的时候,弹出框的位置也会随着改变,所以,需要一个动态改变位置的方法。

最后:是整合方法和样式,通过HTML综合显示实现。

附:效果图

二、具体实现

2.1,HTML设计

首先,是在靠着个人中心旁边的一个登录图标,这个则是和个人中心在同一个div(header)之下:<div class="login">登录</div>

其次,是关于网站登录这个弹出框的设计:

<span style="font-size:18px;"><span style="font-family:KaiTi_GB2312;font-size:24px;"><div id="login">
<h2><img src="Images/close.png" alt="" class="close"/>网站登录</h2>
<div class="user">账 号: <input type="text" name="user" class="text"></div>
<div class="pass">密 码: <input type="password" name="pass" class="text"></div>
<div class="button"><input type="button" class="submit" value=""/> </div>
<div class="other">注册新用户|忘记密码?</div>
</div></span></span>

2.2,CSS样式设计

<span style="font-size:18px;"><span style="font-family:KaiTi_GB2312;font-size:24px;">/* 设置登录文字(“登录”)格式 */
#header .login{
float:right;
width:45px;
height:38px;
cursor:pointer;
color:red;
line-height:38px; } /* 设置登陆框(整体)格式 */
#login{
margin-top:8px;
border:1px solid #ccc;
height:250px;
width:300px;
position:absolute;
display:none;
} /* 设置“网站登录”格式 */
#login h2{
height:40px;
text-align:center;
font-size:20px;
letter-spacing:2px;
color:#666;
background:url(Images/login-header.png) repeat-x;
margin:0 0 20px 0;
padding:0;
border-bottom:1px solid #ccc;
line-height:40px; } /* 设置退出图片(X退出)样式 */
#login h2 img{
float:right;
position:relative;
top:14px;
right:8px;
cursor:pointer;
} /* 设置“账号”和“密码”格式 */
#login div.user,#login div.pass{
font-size:14px;
color:#666;
padding:5px 0;
text-align:center;
} /* 设置文本框样式 */
#login input.text{
width:200px;
height:25px;
border:1px solid #ccc;
background:#fff;
font-size:14px;
} /* 设置按钮(图片)样式 */
#login .button{
text-align:center;
padding:20px 0;
}
/* 设置登录按钮样式(在控件上加载图片) */
#login input.submit{
width:130px;
height:40px;
background:url(Images/login-button.png) no-repeat ;
border:none;
cursor:pointer;
} /* 设置注册新用户样式 */
#login .other{
text-align:right;
padding:5px 1px;
font-size:14px;
}
</span></span>

2.3,使物体居中

使物体居中,则需要通过调整上、左的像素,在这之中还需要考虑弹出框本身的宽和长。

<span style="font-size:18px;"><span style="font-family:KaiTi_GB2312;font-size:24px;">//设置物体居中
Base.prototype.center=function(width,height){
var top=(document.documentElement.clientHeight-150)/2;
var left=(document.documentElement.clientWidth-350)/2;
for(var i=0;i<this.elements.length;i++){
this.elements[i].style.top=top+"px";
this.elements[i].style.left=left+"px";
}
return this;
}</span></span>

2.4,触发浏览器事件(大小改变)

这里所说的触发浏览器事件,则指浏览器变大或者变小,可以通过这个方法以及物体居中两个方法,将弹出框,不管在多大的浏览器中,始终都是居中显示。

<span style="font-size:18px;"><span style="font-family:KaiTi_GB2312;font-size:24px;">//触发浏览器窗口事件
Base.prototype.resize=function(fn){
window.onresize=fn;
return this;
}</span></span>

2.5,整合调用

<span style="font-size:18px;"><span style="font-family:KaiTi_GB2312;font-size:24px;"> //登陆框
var login=$().getId("login");
login.center(250,150).resize(function(){
login.center(350,250);//先居中,在改变浏览器大小之后,再次调用center居中方法,使其再次居中
}); $().getClass("login").click(function(){
login.css("display","block");//弹出登录框
});
$().getClass("close").click(function(){
login.css("display","none");//退出登陆框
});</span></span>

以上,就实现了当点击登录时,就能居中显示登录框,当点击登陆框中的退出(小红叉)时,就能关闭登录框。再则就是,当我们随意改变浏览器大小时,弹出的登陆框始终都是居中显示的。

三、学习总结

1,弹出框居中显示,如何实现拖动?

2,没有层次感,当出现弹出框时,焦点应该聚集到弹出框,间接告诉用户当前应该处理弹出框的事儿。

3,样式死板

对于这个登录框,有很多想法。包括这个登陆框的边框是直线的,很突兀。而在牛腩中,讲解了一个五图像制作可变宽度的圆角框,我觉得可以考虑用上。

【JavaScript 12—应用总结】:弹出登录框的更多相关文章

  1. 第一百三十三节,JavaScript,封装库--弹出登录框

    JavaScript,封装库--弹出登录框 封装库,增加了两个方法 yuan_su_ju_zhong()方法,将获取到的区块元素居中到页面,chuang_kou_shi_jian()方法,浏览器窗口事 ...

  2. javaScript关闭浏览器 (不弹出提示框)

    一段JavaScript脚本程序,负责关闭窗口,如果网页不是通过脚本程序打开的(window.open()),调用window.close()脚本关闭窗口前,必须先将window.opener对象置为 ...

  3. 关于搭建IIS网页弹出登录框的解决方案

    今天自己搭建IIS服务器的时候,明明设置了匿名访问,但是用ie访问127.0.0.1的时候还是会弹出一个登陆框,最后在网上找到答案. 转自: https://blog.csdn.net/sunleib ...

  4. 使用form 表单 弹出登录框,只传递数据,不刷新界面

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. IDEA解决SVN频繁弹出登录框

    将HTTP请求改成SVN就可以了,或者请项目经理开启SVN中的HTTP请求

  6. JQuery+CSS3实现封装弹出登录框效果

    原文:JQuery+CSS3实现封装弹出登录框效果 上次发了一篇使用Javascript来实现弹出层的效果,这次刚好用了JQuery来实现,所以顺便记录一下: 因为这次使用了Bootstrap来做一个 ...

  7. PLSQL登录弹出空白框如何解决

     转自:http://jingyan.baidu.com/article/066074d6760959c3c21cb0d6.html   出现登录弹出空白框这是由于win7的安全性提高了,在PLSQL ...

  8. win10锁屏或睡眠一段时间后弹不出登录框

    win10锁屏或睡眠一段时间后弹不出登录框 文:铁乐与猫 通常发生在win10更新到10周年版后发生,也就是会卡在登录状态,但不见输入登录框. 我出现这种情况的时候不是很严重,一般等久些也能出现,但问 ...

  9. JavaScript:用JS实现加载页面前弹出模态框

    用JS实现加载页面前弹出模态框 主要的JavaScript 代码是: <script> //加载模态框 $('#myModal').modal(); $(document).ready(f ...

随机推荐

  1. MyBatis插入数据之后返回插入记录的id

    MyBatis插入数据的时候,返回该记录的id<insert id="insert" keyProperty="id" useGeneratedKeys= ...

  2. Django之CSRF问题

    1.csrf全称:cross site request forgery(跨站请求伪造),举例来讲,一个安全的网站A,一个恶意网站B,当你在A网站进行了登录后,这时候浏览器会保存你的cookie和ses ...

  3. java25个Java机器学习工具&库

    本列表总结了25个Java机器学习工具&库: 1. Weka集成了数据挖掘工作的机器学习算法.这些算法可以直接应用于一个数据集上或者你可以自己编写代码来调用.Weka包括一系列的工具,如数据预 ...

  4. 按Home键切换到后台后会触发libGPUSupportMercury.dylib: gpus_ReturnNotPermittedKillClient导致crash

    转自:http://www.eoeandroid.com/thread-251598-1-1.html 好像有很多朋友都碰到过这个问题,即在真机调试时,按hone键返回桌面,再回到app时,app会c ...

  5. 在hibernate框架中配置显示sql语句

    使用Hibernate的框架开发时,可在Hibernate.cfg.xml中加上 <property name="hibernate.show_sql">true< ...

  6. 校内选拔I题题解 构造题 Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 2) ——D

    http://codeforces.com/contest/574/problem/D Bear and Blocks time limit per test 1 second memory limi ...

  7. nyoj-915—— +-字符串

    http://acm.nyist.net/JudgeOnline/problem.php?pid=915 +-字符串 时间限制:1000 ms  |  内存限制:65535 KB 难度:1 描述 Sh ...

  8. shell脚本,在指定目录下通过随机小写10个字母加固定字符串oldboy批量创建10个html文件。

    [root@localhost wyb]# cat test10.sh #!/bin/bash #使用for循环在/test10目录下通过随机小写10个字母加固定字符串oldboy批量创建10个htm ...

  9. Broadcast BCM94322 用ubuntu修改ID

    1.按这个教程的6楼做的http://bbs.pcbeta.com/viewthread-1324168-1-1.html.注意我先下载 的是ubuntu9.05版本,做U盘启动进live 模式,43 ...

  10. hihoCoder-1109-堆优化的Prim

    优先队列是由堆组成的,所以当我们使用优先队列对Prim进行优化时,就把这种优化叫做堆优化. 它的算法核心思想就是每次向后找边,每个pair存的都是下一个点,以及边权.我们对于已经走过的点就避开,这样就 ...