- 浏览: 1776772 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (641)
- vb2005xu自己动手系列 (174)
- vb2005xu开发文章转摘 (47)
- vb2005xu发发牢骚 (99)
- vb2005xu新技术灌水 (12)
- vb2005xu网络资源集锦 (21)
- vb2005xu软件学习 (60)
- 英语学习 (3)
- JavaScript 学习 (54)
- JAVA OOP 巩固 之 CustomDatabase 的开发 (5)
- 2013年9月之前所在公司 记事 (7)
- FleaPHP/QEEPHP 资料 (87)
- JAVA MAIL 学习篇 (4)
- Python turbogears (5)
- Rails 个人开发四部曲 (3)
- 名人传 (8)
- iwp framework (5)
- 高考零分作文 (5)
- startos (8)
- lua (0)
- 职场 (1)
最新评论
-
hellotieye:
自己 评论 自己 挺嗨呀
Mysql sql查询时 if 的用法 -
igevin:
转载请标明出处,转自Gevin的博客http://blog.i ...
RESTful API 编写指南 -
Theobob:
...
实现简单的ACL -
vb2005xu:
比如 对于 curl 调用就不再需要 加各种if 判断了,
$ ...
搞一个简单的数据打印工具AsDebug の Laravel -
vb2005xu:
http://geekplux.com/wiki/
YII2 模块内自定义错误页
代码如下所示,代码已经被我重构.... 写的不好,请见谅...
config_VB2005XU.js
// JavaScript Document var login_VB2005XU = { //组件标题 title:"管理员登录", //组件的宽度 width:300, //组件的高度 height:190, //组件里面的内容 templete:"<form action='' method='get' class='formClass' id='login'>"+ "<table>"+ "<tr>"+ "<td width='30%'><label class='lab'>账号:</label></td>"+ "<td width='40%'><input class='input_text' type='text' name='username'/></td>"+ "<td width='30%'><span class='point_out'>*您的账号</span></td>"+ "</tr>"+ "<tr>"+ "<td><label class='lab'>密码:</label></td>"+ "<td><input class='input_text' type='password' name='pwd'/><br /></td>"+ "<td><span class='point_out'>*您的密码</span></td>"+ "</tr>"+ "</table>"+ "<span class='point_out' id='loging'>正在登录....</span><br/>"+ "<input class='inupt_button' type='button' value='确定' onclick=''/>"+ "<input class='inupt_button' type='button' onclick='Shade_VB2005XU.hide();' value='取消' />"+ " </form>" }
Shade_VB2005XU.js
//得到浏览器显示的屏幕高度 document.getViewportHeight = function(){ if (window.innerHeight!=window.undefined) return window.innerHeight; if (document.compatMode=='CSS1Compat') return document.documentElement.clientHeight; if (document.body) return document.body.clientHeight; return window.undefined; } //得到浏览器显示的屏幕宽度 document.getViewportWidth = function(){ if (window.innerWidth!=window.undefined) return window.innerWidth; if (document.compatMode=='CSS1Compat') return document.documentElement.clientWidth; if (document.body) return document.body.clientWidth; } /** * 遮罩层,组件的显示及隐藏 */ Shade_VB2005XU = { mask:null, container:null, isIE6:null, init:function(conf){ //判断浏览器是否是ie6或其以下版本 var brsVersion = parseInt(window.navigator.appVersion.charAt(0), 10); if (brsVersion <= 6 && window.navigator.userAgent.indexOf("MSIE") > -1) { this.isIE6 = true; }else{ this.isIE6 = false; } //将遮罩层加入body var popmask = document.createElement('div'); popmask.id = 'mask'; document.body.appendChild(popmask); this.mask = document.getElementById("mask"); this.mask.style.display = "none" ; //将组件边框加入body var popcont = document.createElement('div'); popcont.id = 'popupContainer'; popcont.innerHTML ="<div id='popupInner'>"+ "<div id='popupTitleBar'>"+ "<div id='popupTitle'></div>"+ "<div id='popupControls'>"+ "<img src='images/close.gif' onclick='Shade_VB2005XU.hide();' id='popCloseBox' />"+ "</div></div>"+ "<div id='popupFrame'>dd</div>"; document.body.appendChild(popcont); this.container = document.getElementById("popupContainer"); this.container.style.display = "none" ; // 加载自定义设置的内容 -- by 色色 -- 这些应该属于初始化的内容 //设置组件的标题 document.getElementById('popupTitle').innerHTML = conf.title; //设置组件的长和宽 this.container.style.width = conf.width+"px"; this.container.style.height = conf.height+"px"; var frame = document.getElementById('popupFrame'); frame.style.width = (conf.width -4)+"px"; frame.style.height = (conf.height -31)+"px"; //设置组件内容 frame.innerHTML = conf.templete; this.render(conf); this.enDrag(); var Shade_this = this ; //传递this参数,到浏览器窗体改变事件 Shade_this.conf = conf ; window.onresize = function(){ if (Shade_this.container) { Shade_this.render(Shade_this.conf); } } ; } , /*增加拖动功能*/ enDrag: function(){ var popupTitleBar = document.getElementById('popupTitleBar') ; popupTitleBar.style.cursor = "move" ; Drag.init(popupTitleBar,this.container); } , render: function(conf){ this.setMaskSize(); this.toCenter(conf); } , //设置遮罩层的长度和宽度 setMaskSize:function(){ var theBody = document.body; var fullHeight = document.getViewportHeight(); var fullWidth = document.getViewportWidth(); // Determine what's bigger, scrollHeight or fullHeight / width if (fullHeight > theBody.scrollHeight) { this.popHeight = fullHeight; } else { this.popHeight = theBody.scrollHeight; } if (fullWidth > theBody.scrollWidth) { this.popWidth = fullWidth; } else { this.popWidth = theBody.scrollWidth; } this.mask.style.height = this.popHeight + "px"; this.mask.style.width = this.popWidth + "px"; }, toCenter:function(conf){ var s = this.container.style; s.left = (document.getViewportWidth()-conf.width)/2+"px"; s.top = (document.getViewportHeight()-conf.height)/2+"px"; }, show:function(){ //if () this.container.style.display = this.mask.style.display = "" ; }, hide:function(){ //删除遮罩层 document.body.removeChild(this.mask); //删除组件层 document.body.removeChild(this.container); } }
<!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> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>遮罩层,组件层实例</title> <link href="css/shade.css" rel="stylesheet" type="text/css" /> <!-- 色色增强版 --> <script type="text/javascript" src="js/dom-drag.js" charset="gb2312"></script> <script type="text/javascript" src="js/config_VB2005XU.js" charset="gb2312"></script> <script type="text/javascript" src="js/Shade_VB2005XU.js" charset="gb2312"></script> <!-- 原版版 --> <script type="text/javascript" src="js/shade.js" charset="gb2312"></script> <script type="text/javascript" src="js/config.js" charset="gb2312"></script> </head> <body> <p style="color:red;">该遮罩层已经在FF3.5,IE7,Opera测试通过,在IE6中有一些小bug:无法使遮罩层透明显示,组件层无法固定定位</p> <p style="color:red;">以管理员登录为例子 主要配置文件为<a href="js/shade.js">shade.js</a>,<a href="js/config.js">config.js</a>中存放组件的配置,这个文件需要使用者自己配置。</p> <p style="color:red;">Author:Cindy QQ:283502037 JavaEye: <a href="http://cindy-lee.iteye.com">http://cindy-lee.iteye.com</a></p> <input type="button" value="点击生成遮罩层" onclick="Shade.show(login);"/> <hr/> <h1>色色增强版 [增加拖拽,浏览器窗口缩放时遮罩层自动缩放等功能] </h1> <p style="color:red;"> 该遮罩层已经在FF2.0,IE6,Opera测试通过,</p> <p style="color:red;">以管理员登录为例子 主要配置文件为<a href="js/shade.js">shade.js</a>,<a href="js/config.js">config.js</a>中存放组件的配置,这个文件需要使用者自己配置。</p> <p style="color:red;">Author:色色[vb2005xu] QQ:中国PHP联盟群管理员 JavaEye: <a href="http://vb2005xu.iteye.com">http://vb2005xu.iteye.com</a></p> <input type="button" value="点击生成遮罩层" onclick="Shade_VB2005XU.init(login_VB2005XU);Shade_VB2005XU.show();"/> </body> </html>
效果图示:
评论
10 楼
cuixiping
2009-11-21
ymPrompt看似很强大,说明也很详细,有空试用一下。
9 楼
liufeng1981918
2009-11-21
就想找个能支持ie6透明的遮罩层,可是没有呀,楼主看看能不能做一个给我qq305021563
8 楼
vb2005xu
2009-11-02
http://vb2005xu.iteye.com/blog/508550
7 楼
whaosoft
2009-10-12
sunjun 写道
LZ做的不错,不过轮子已经有人做得不错了, http://preview.zcool.com.cn/code/new_code/031/
是啊 而且轮子不是一条
6 楼
vb2005xu
2009-10-12
对我而言 大了...
5 楼
sunjun
2009-10-12
vb2005xu 写道
ymPrompt 并不好用... 而且比较大 ...
你用过了,就知道很好用,
ymPrompt_source.js 14.6KB
ymPrompt.js 压缩后 7.11KB
不知道这7KB的JS算不算比较大?
4 楼
vb2005xu
2009-10-11
ymPrompt 并不好用... 而且比较大 ...
写js的时候用对象模型我觉得:
1. 使用命名空间
2. 方便代码组织,以及代码复用
3.
写js的时候用对象模型我觉得:
1. 使用命名空间
2. 方便代码组织,以及代码复用
3.
3 楼
sunjun
2009-10-11
LZ做的不错,不过轮子已经有人做得不错了, http://preview.zcool.com.cn/code/new_code/031/
2 楼
wxq594808632
2009-10-10
elvishehai 写道
为什么你们一定在写js的时候要用对象模型了,是什么原因了。
难道是java残留的习惯.呵呵..
1 楼
elvishehai
2009-10-06
为什么你们一定在写js的时候要用对象模型了,是什么原因了。
发表评论
-
常用的 js 代码梳理
2016-06-16 12:00 1919/** * 格式化时间函数 * @param {form ... -
fineuploader 跨子域上传文件 cookie丢失问题的解决
2015-10-14 13:30 4811目前的项目中,使用到了fineuploader 这个纯htm ... -
2014 I Love You!
2014-02-14 15:40 1267保存成 html文件后打开 写道 <html> ... -
阻止checkbox的父元素事件冒泡
2014-01-15 20:33 8735今天在开发后台权限管理时使用了tinyaccordion ... -
整理下之前的js代码 moogens.js 记录下
2013-11-26 11:49 1207moogens.jshttps://github.com/v ... -
AOP 在js中的应用
2013-08-29 19:21 0http://www.alloyteam.com/2013/ ... -
自己动手增强 jquery.multiselect2side 调用
2012-11-13 17:50 8631最近用到一个jq插件 jquery.multiselect ... -
坑爹的HTML5应用集锦
2012-11-06 16:23 12451. 3D的俄罗斯方块 http://alteredquali ... -
小旭改的分页代码
2012-10-22 15:54 1344/** * 说明: 在页面指定元素中构建分页条 * ... -
一道js题 的分析历程
2012-08-10 11:14 1313var a = {n:1};a.x=a={n:2}; a.x ... -
修复 artDialog 双击遮罩层就会自动关闭的bug.... 自己动手....
2012-05-24 21:21 6086今天使用的时候发现 双击遮罩层 就会自动关闭 ,我用的版本是 ... -
jquery 也不给力啊 unbind 你让我情何以堪!
2012-05-09 19:36 1525发现一个问题$a = jQuery('img[src=&q ... -
使用 nodejs 形式的语法来规整 js
2012-04-21 10:20 1990/* * 使用 nodejs 形式的语法来规整 js ... -
注册了2个域名 希望能给nodejs一点集合
2011-06-22 12:37 1330NODEJS-OPEN.COM NODEJS-OPEN.I ... -
css 文本折行
2011-05-12 10:27 8372word-wrap:break-word; overflow: ... -
IE 中document.getElementsByName
2011-05-06 10:40 2450IE 中使用 document.getElementsByNa ... -
新年里 把 自己写的 js基础代码 做个了结..... 死机了吧,悲剧了吧 ... 打不开了吧...编辑器bug出现了吧 ff不能黏贴,复制,换组织就不修正么?
2011-02-11 20:28 1775新年里 把 自己写的 js基础代码 做个了结..... 死机了 ... -
考考你们的JS 我只作对了一半 你们试试
2011-02-11 10:40 2172alert(typeof(NaN)); alert( ... -
为自己的JS库 moogens 增加 facebox 组件
2011-01-17 20:16 2084之前的JS慢慢积累下来慢慢也就自己完善了个,比之前的__ini ... -
高级js教程,转国外一个教程
2010-11-22 10:10 3385http://www.sergiopereira.com/ar ...
相关推荐
Cindy-3.0b1-src这个版本是Cindy框架的源代码包,对于开发者来说,了解其源码可以帮助深入理解NIO框架的设计原理和实现细节。下面将详细介绍这个框架可能包含的关键知识点: 1. **Java NIO基础**:Cindy是建立在...
此外,Cindy可能提供了一些高级功能,如连接池管理、超时控制、错误处理等,帮助开发者更好地管理和优化他们的异步应用。 在源码层面,Cindy可能采用了面向对象的设计模式,通过类和接口来封装各种IO操作和事件处理...
`django_cindy-0.0.3-py3-none-any.whl`是一个特定版本的Python库,它专为Django框架设计,用于增强和扩展Django的功能。这个文件是预编译的Python Wheel格式,使得安装过程更加便捷,避免了编译源代码的步骤,尤其...
Cindy是一款开源的计算机图形学和几何算法库,主要用于教育和研究领域。它提供了一套强大的工具,使得用户能够方便地实现复杂的几何计算和可视化。这个压缩包“cindy最新源码和库”包含了Cindy项目的最新源代码和...
这个版本的 Cindy Components 包含了最新的改进和更新,以确保与最新的 Delphi 版本兼容,同时也可能包含了修复的已知问题和性能优化。 在 Delphi 开发环境中,组件是预编译的图形化对象,可以直接拖放到表单上,...
cindy.jar 源码工具包
4. **用户界面增强**:比如,可能会有动态菜单、对话框模态、弹出窗口等组件,这些都可以提升应用的用户体验,使得交互更加直观和流畅。 5. **网络和通信**:Cindy Components 可能包含网络相关的组件,如HTTP...
通过查看源代码,开发者可以学习到Cindy组件是如何实现其高级功能的,如动画效果、事件处理、数据绑定等。这有助于提高个人技能,尤其是在界面设计和性能优化方面。同时,源代码开放也使得开发者在遇到问题时能直接...
2. **回调机制**:用户可以注册回调函数来处理特定事件,当事件发生时,Cindy会自动调用对应的回调,这样可以避免线程阻塞,提高系统效率。 3. **易用性**:Cindy提供简洁的API接口,使得开发者能快速理解和使用,...
Java中的异步IO框架是Java生态系统中的重要组成部分,它允许开发者在处理I/O操作时无需等待数据传输完成,而是可以立即返回并执行其他任务,提高了程序的并发性能和整体效率。Cindy是一个基于Java实现的异步IO框架,...
在Cindy中,你可以通过以下步骤实现异步I/O操作: 1. **初始化Cindy实例**:创建Cindy服务实例,配置线程池等参数。 2. **注册处理器**:定义CompletionHandler或Promise,指定I/O操作完成后执行的逻辑。 3. **启动...
Packages with 71 components for all delphi versions (since D7) to build Windows 32/64 bit applications: VCL controls (labels, buttons, panels, Edits, TabControls, StaticText) with features like ...
【Java实现MSN Messenger功能】 本文将探讨如何使用Java语言实现MSN Messenger的功能,主要涉及的知识点包括Java编程、即时通讯协议(IM)、JML库以及相关的第三方库。 **JML库介绍** JML(Java Messenger Library...
Packages with 76 components for all delphi versions (since D7) to build Windows 32/64 bit applications: VCL controls (labels, buttons, panels, Edits, TabControls, StaticText) with features like ...
postman是接口调试之利器,以chrome插件形式可以通过Chrome的应用商店进行搜索并安装(不过官方已经在2017年宣布不在维护chrome版本了,大家还是安装native版本吧),或者找行政小姐姐文慧借用硬盘,里面有postman的...
delphi 控件,优秀的界面设计工具 TcyBevel: multi colored bevels. - TcyPanel: runtime resize feature, multi colored bevels, gradient and shadow feature. - TcyAdvPanel: like TcyPanel plus wallpaper ...
在Java编程领域,异步I/O(Asynchronous Input/Output)是一种处理I/O操作的方式,它允许程序在等待数据准备就绪时继续执行其他任务,从而提高了程序的效率和响应性。Cindy是一个用于Java的异步IO框架,旨在简化并发...
基于java的开发源码-异步IO框架 Cindy.zip 基于java的开发源码-异步IO框架 Cindy.zip 基于java的开发源码-异步IO框架 Cindy.zip 基于java的开发源码-异步IO框架 Cindy.zip 基于java的开发源码-异步IO框架 Cindy.zip ...
Cindy是一款基于Java实现的异步I/O框架,它的设计目标是提高应用程序的并发性能,尤其是在处理大量网络连接和I/O密集型操作时。在深入理解Cindy源码之前,我们首先需要对异步I/O的基本概念有所了解。 异步I/O模型与...