2007-11-02
实用的JS工具类(二)——JS动态加载、密码强度提示、高亮度元素
关键字: ajax js动态加载 密码强度提示 高亮度元素这次提供三个一起,呵呵,分别是:密码强度检测、高亮度指定元素、JS动态加载~~
js 代码
- /**-----------------------------------------------------------------------
- * ----------------------------密码强度检测类-----------------------------
- * -----------------------------------------------------------------------
- */
- function Password() {};
- Password.check = function(/*string*/pwd, /*string*/tipsDivId) {
- var id = Password.getResult(pwd);
- var msg = ["密码过短", "密码强度差", "密码强度良好", "密码强度高"];
- var sty = [-45, -30, -15, 0];
- var col = ["#999999", "#66CC00"];
- var sWidth = 300, sHeight = 15;
- var Bobj = $(tipsDivId);
- if (!Bobj) return;
- with (Bobj) {
- style.fontSize = "12px";
- style.width = sWidth + "px";
- style.height = sHeight + "px";
- style.lineHeight = sHeight + "px";
- }
- var html = "";
- for (var i = 0; i < msg.length; i ++) {
- var bg_color = (i <= id) ? col[1] : col[0];
- html += "" + bg_color + ";'> ";
- }
- Bobj.innerHTML = html;
- Bobj.title = msg[id];
- };
- Password.getResult = function(/*string*/pwd) {
- if (pwd.length < 6) return 0;
- var ls = 0;
- if (pwd.match(/[a-z]/ig)) ls++;
- if (pwd.match(/[0-9]/ig)) ls++;
- if (pwd.match(/(.[^a-z0-9])/ig)) ls++;
- if (pwd.length < 6 && ls > 0) ls--;
- return ls;
- };
- /**-----------------------------------------------------------------------
- * ----------------------------高亮度指定的元素---------------------------
- * -----------------------------------------------------------------------
- */
- function HighLight() {};
- HighLight.options = {
- id : null,
- className : null,
- interval : 255,
- times : 3000
- };
- HighLight.prototype = {
- exe : function(/*object*/options) {
- var _options = {};
- if (typeof(options) == 'object') {
- _options.id = options.id || HighLight.options.id;
- _options.className = options.className || HighLight.options.className;
- _options.interval = options.interval || HighLight.options.interval;
- _options.times = options.times || HighLight.options.times;
- }
- if (_options.id == null || !$(_options.id)) {
- alert('必须指定要高亮度显示的元素ID!');
- return false;
- } else if (!_options.className || typeof(_options.className) != 'string' || _options.className.strip() == '') {
- alert('请指定高亮度显示的CSS名称!');
- return false;
- }
- var elt = $(_options.id);
- if (elt.highLightHandle != null) return;
- elt.highLightHandle = setInterval(function() {
- Element.toggleClassName(elt, _options.className);
- }, _options.interval);
- window.setTimeout(function() {
- clearInterval(elt.highLightHandle);
- Element.removeClassName(_options.className);
- elt.removeAttribute('highLightHandle');
- }, _options.times);
- return true;
- }
- };
- /**-----------------------------------------------------------------------
- * ----------------------------Js动态加载类-------------------------------
- * ---注意使用时必须保证被加载的JS文件是使用UTF-8保存,否则会出现中文乱码!
- * -----------------------------------------------------------------------
- */
- function JsLoader() {};
- JsLoader.loaded = [];
- JsLoader.prototype = {
- _path : null, // 要加载的JS的路径
- _head : null, // 文档对象的head头对象
- /**
- * 主要调用方法.
- */
- require : function(/*String*/jsPath, /*function*/callback) {
- if (!this._check(jsPath)) return false;
- if (this._isload(jsPath)) return true;
- this._ajaxLoad(callback);
- return true;
- },
- load : function(/*String*/jsPath, /*function*/callback) {
- return this.require(jsPath, callback);
- },
- _check : function(jsPath) {
- if (!jsPath) {
- alert('请指定要加载的JS路径!');return false;
- }
- var head = document.getElementsByTagName('head');
- if (!head || head.length < 1) {
- alert('文档对象document必须有HEAD头!');return false;
- }
- this._path = jsPath;
- this._head = head[0];
- return true;
- },
- _isload : function(jsPath) {
- for (var i = 0; i < JsLoader.loaded.length; i ++) {
- if (JsLoader.loaded[i].toLowerCase() == jsPath.toLowerCase()) return true;
- }
- JsLoader.loaded[JsLoader.loaded.length] = jsPath;
- return false;
- },
- _ajaxLoad : function(callback) {
- var head = this._head;
- base.request(this._path, function(xmlHttp, error) {
- var script = document.createElement('script');
- script.type = "text/javascript";
- script.text = xmlHttp.responseText;
- head.appendChild(script);
- if (!callback) return;
- try {
- if (typeof(callback) == 'function') callback();
- else eval(callback);
- } catch (ex) {alert(ex.message);};
- });
- }
- };
评论
ferreousbox
2008-03-30
呵呵,base.request是我的一个ajax请求,是基于prototype.js的,这个是一个实用方法,可以自己写的,我写的一个实用类中的这个方法如下:
request : function(/*string*/_url, /*function*/onSuccess, /*string*/paras, /*string*/_method) {
new Ajax.Request(
_url,
{
method : !_method ? 'POST' : _method,
evalScripts : true,
parameters : !paras ? '' : paras,
onComplete : onSuccess
}
);
},
faichan
2008-03-13
wiwika 写道
123行:
base.request(this._path, function(xmlHttp, error)
base没有定义啊?
base.request(this._path, function(xmlHttp, error)
base没有定义啊?
不行的。。。。。
wiwika
2008-03-06
123行:
base.request(this._path, function(xmlHttp, error)
base没有定义啊?
base.request(this._path, function(xmlHttp, error)
base没有定义啊?
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 7395 次
- 性别:

- 来自: 杭州

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
如何区分真静态和伪静态网 ...
你看看我做的这个网站,是静态还是动态的?http://www.zqlease.c ...
-- by ayeah -
如何区分真静态和伪静态网 ...
edwardpro 写道这年头大型网站不可能静态的,否则集权不能玩了 兄弟这 ...
-- by 猫尾摆摆 -
如何区分真静态和伪静态网 ...
andy54321 写道这个静态页面的生成, 偶没搞懂什么意思。。。 但是对 ...
-- by 猫尾摆摆 -
如何区分真静态和伪静态网 ...
icewubin 写道风雪涟漪 写道都是生成静态页面的。。。。要是动态的。。。性 ...
-- by ygxdha -
如何区分真静态和伪静态网 ...
edwardpro 写道这年头大型网站不可能静态的,否则集权不能玩了 大型网站是 ...
-- by sagah






评论排行榜