用extjs写一个登录界面
来源:互联网 发布:mac如何移动桌面图标 编辑:程序博客网 时间:2024/04/29 06:31
先上效果图:
这是一个用ext3.2.0、js、html、css写的一个还算好看的登录界面。
源代码已上传,下载地址请点击:点击打开链接
其主要难点在如何使用extjs来画一个界面,接下来我们就主要看一下其中的html和js吧:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>登录界面</title> <link rel="stylesheet" type="text/css" href="ext3.2.0/resources/css/ext-all.css"/> <script type="text/javascript" src="ext3.2.0/adapter/ext/ext-base.js"></script> <script type="text/javascript" src="ext3.2.0/ext-all.js"></script> <script type="text/javascript" src="login.js"></script> <script type="text/javascript" src="loginToDo.js"></script> <link rel="stylesheet" type="text/css" href="login.css"/></head><body onkeydown="keyLogin(event);"></body></html>
这里面主要是导入页面所需的js和css文件,当然还有一个亮点就是body标签上的 onkeydown事件属性,主要用于监听键盘实现我们js中的enter键提交功能。
然后看一下extjs的语言风格吧:
Ext.onReady(function () { // 创建“登录”面板 var loginPanel = new Ext.Panel({ // 设置面板的位置、宽高、样式 // 注意:此处我用的是相对布局relative(用于比较两者的区别) id: 'loginPan', x: 363, y: 0, width: 396, height: 480, baseCls: '', defaults: { border: false }, // 添加面板里面的物品 items: [ { // 第一件:logo图 id: 'loginLogo', height: 160, frame: false, bodyStyle: 'padding-top:10px', html: '<img src="images/fly_icon.png">' }, { // 第二件:登录的表单 id: 'loginForm', defaultType: 'textfield', frame: false, defaults: { allowBlank: false }, // 添加表单里面的物品:两个输入框 items: [ { id: "username", cls: "text_field", inoutType: 'text', width: 330, height: 28, blankText: '账号不能为空', emptyText: '请输入账号', }, { id: "password", cls: "text_field", inputType: 'password', width: 330, height: 28, emptyText: '请输入密码', blankText: '密码不能为空', }] }, { // 第三件:忘记密码 id: 'loginForget', html: "<a href='forget_pwd.html' target='_blank'>忘记密码?</a>", }, { // 第四件:登录按钮 id: 'loginBtn', html: '<button id="btn_login">马上登录</button>', } ], }); // 创建“注册”面板 var registerPanel = new Ext.Panel({ // 设置面板的位置、宽高、样式 // 注意:此处我用的是绝对布局absolute(用于比较两者的区别) id: 'registerPan', x: 0, y: 46, width: 800, height: 389, baseCls: '', layout: 'absolute', defaults: { border: false }, // 添加面板里面的物品 items: [ { // 第一件:标题 id: 'registerTitleLabel', xtype: 'label', x: 47, y: 50, text: '还没有账号?', }, { // 第二件:正文 id: 'registerContentLabel', xtype: 'label', x: 47, y: 135, text: '这是在注册面板下面的正文内容。里面的内容可以随便写,比如当前我们再一个窗口下面建立了两个面板。而两个面板的布局是分别用相对布局和绝对布局来实现的。相比较而言,我觉得用绝对布局会简单粗暴,更直接,更方便。总之,你们自己体会一下吧。', }, { // 第三件:注册按钮 id: 'registerBtn', xtype: 'button', x: 47, y: 280, html: '<button id="btn_register" >马上注册</button>' }], }); // 创建窗口,从而让内容达到居中效果 var centerWindow = new Ext.Window({ baseCls: '', width: 800, height: 480, layout: 'absolute', closable: false, draggable: false, resizable: false, shadow: false, border: false, items: [registerPanel, loginPanel], }); // 显示窗口 centerWindow.show(); // 添加浏览器缩放自动居中效果 Ext.EventManager.onWindowResize(function () { centerWindow.center(); });});
这里要说的是:
1、注意给属性加标记,能用id就用id,cls只是一个封装过的class,和原生的class还是有区别的,比如给一个cls元素的height、padding定义样式并不起作用。详见:关于extjs中的cls ≠ class
2、在ext中建议用绝对定位,由于它底层是一个个的table、div块,如果用相对定位的话偶尔是有偏差的,所以还是绝对定位方便直接啊。
3、window自带居中效果,可以利用这一点让元素在屏幕中居中。但是当浏览器缩放的时候,这个window并不会动,每次都需要重新刷新一下才会改变一下。所以,在以上代码的最后我们用给这个centerWindow添加了一个窗口自适应居中的效果。
4、以上为部分关键代码,查看全部源代码可以点击该下载链接:点击打开链接
0 0
- 用extjs写一个登录界面
- 用C#来写一个管理系统的登录界面
- 用JSP写的一个用户登录界面
- html 写的一个登录界面
- ExtJS第一步:登录界面
- 用标签写登录界面
- 用标签写登录界面
- 谁能帮我写一个extjs的登录页面
- 我用 myeclipse写了一个登录界面有错误怎么办
- 黑马程序员_007Grid布局写一个登录界面
- Java web 写一个注册登录界面,Sql 10
- mysql+phpstrom10.04写一个简单登录注册界面
- 如何写一个含验证码的登录界面
- jsp写一个简单的登录界面,有默认值
- extJS做的一个登录
- 一个登录界面
- 设计一个登录界面
- 如何写一个extjs插件
- 高层论坛︱王家耀院士:“互联网+”时空大数据与智慧城市(1)
- docker介绍、安装及使用
- 应用被强杀了怎么办
- 滤镜CoreImage
- Ubuntu中设置环境变量的几种方式及区别
- 用extjs写一个登录界面
- HOJ Recoup Traveling Expenses(最长递减子序列变形)
- python中的元组的小括弧是否有必要增加
- win10 64位搭建scrapy
- Android中对Log日志文件的分析
- GCD 解决多核并行运算的一种方案
- C++中placement new操作符(经典) http://blog.csdn.net/zhangxinrun/article/details/5940019
- Alignment of Code id:1593
- RunLoop - 个人总结(一)