`

js常用运行库总结

 
阅读更多

//判断是否为IE浏览器。

function isIE(){
return (document.all && window.ActiveXObject && !window.opera) ? true : false;
}

//外部调用页面元素的onclick事件

function loadClick(){

if(isIE()){
document.getElementById('obj_id').click();
}else{
var evt = document.createEvent("MouseEvents");
evt.initEvent("click", true, true);
document.getElementById('obj_id').dispatchEvent(evt);
}

}

//短函数方便使用
function $G(id){
return document.getElementById(id);
}
function $GC(t){
return document.createElement_x(t);
}
function $GT(t){
return document.getElementsByTagName(t);
}
//依据相同的className得到元素数组
function $$(class) {
var el=[];
_el=document.getElementsByTagName('*');
for (var i=0; i<_el.length; i++){
if (_el[i].className == class){
el[el.length] = _el[i];
}
}
return el;
}
// 判断浏览器ie6还是ie7。
function isIe6Or7(){
var browser=navigator.appName
var b_version=navigator.appVersion
var version=b_version.split(";");
var trim_Version=version[1].replace(/[ ]/g,"");
if(browser=="Microsoft Internet Explorer" && trim_Version=="MSIE7.0"){
alert("IE 7.0");
}else if(browser=="Microsoft Internet Explorer" && trim_Version=="MSIE6.0"){
alert("IE 6.0");
}
}
// 去除字符串左右的空格。
String.prototype.trim = function(){
return this.replace(/(^\s*)|(\s*$)/g, '');
}
//去除字符串左边的空格。
String.prototype.trimLeft= function(){
return this.replace(/^\s*/g,"");
}
//去除字符串右边的空格。
String.prototype.trimRight = function(){
return this.replace(/\s*$/g,"");
}
//检查用户名是否由英文字母、数字以及下划线组成。
function checkUserName(s){
var patrn=/^(\w){1,50}$/;
if (patrn.exec(s)){
return true;
} else {
return false;
}
}
//判断输入是否是大于0的数字。
function isNumCheck(str){
if(str.match(/\D/)==null){
return true;
} else {
return false;
}
}
//检查座机或传真的电话格式
function checkTel(){
var re = /^(((\()?\d{2,4}(\))?[-(\s)*]){0,2})?(\d{7,8})$/;
if(re.test(document.getElementById("txtTel").value)){
alert("电话号码格式正确");
}else{
alert("错误的电话号码");
}
}
//判断输入是否是大于0的浮点型。
function isFloatCheck(str){
if(/^[0-9\.]+$/g.test(str)){
return true;
} else {
return false;
}
}
//检查是否有中文字符
function checkCN(str){
if(s.match(/[\u0391-\uFFE5]/ig)){
return true;
} else {
return false;
}
}
//判断e_mail格式是否正确。
function isEmailFormat(str){
if(/(\S)+[@]{1}(\S)+[.]{1}(\w)+/.test(str)){
if(str.indexOf('..')>-1){
return false;
}
str=str.trim();
var dbCheck = 0;
for (var i=0;i< str.length;i++){
if(str.charAt(i)==' ') return false;
if(str.charAt(i)=='@'){
if(dbCheck == 0) {
dbCheck = 1;
}else{
return false;
}
}
}
return true;
} else {
return false;
}
}
//得到页面元素的尺寸
function dimensions(el) {
return { width: el.offsetWidth, height: el.offsetHeight };
}
//得到鼠标当前的坐标
function mousePosition(e) {
return { x: e.clientX + document.documentElement.scrollLeft, y: e.clientY + document.documentElement.scrollTop };
}
var Json = {//把javascript的数组或对象转换成Json格式的字符串
toString: function(obj){
switch(typeof(obj)){
case 'string':
return '"' + obj.replace(/(["\\])/g, '\\$1') + '"';
case 'array':
return '[' + obj.map(Json.toString).join(',') + ']';
case 'object':
var string = [];
for (var property in obj) string.push(Json.toString(property) + ':' + Json.toString(obj[property]));
return '{' + string.join(',') + '}';
case 'number':
if (isFinite(obj)) break;
case false:
return 'null';
}
return String(obj);
},//把Json格式的字符串转换成javascript的数组或对象
uate: function(str, secure){
return ((typeof(str) != 'string') || (secure && !str.test(/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/))) ? null : ('(' + str + ')');
}
}
//得到元素在荧幕上绝对真实的坐标位置
function getAbsoultePosition(el) {
var sLeft = 0, sTop = 0;
var isDiv = /^div$/i.test(el.tagName);
if (isDiv && el.scrollLeft) {
sLeft = el.scrollLeft;
}
if (isDiv && el.scrollTop) {
sTop = el.scrollTop;
}
var r = { x: el.offsetLeft - sLeft, y: el.offsetTop - sTop };
if (el.offsetParent) {
var tmp = getAbsoultePosition(el.offsetParent);
r.x += tmp.x;
r.y += tmp.y;
}
return r;
}
// IE 支持 ajax
if (window.ActiveXObject && !window.XMLHttpRequest) {
window.XMLHttpRequest=function() {
return new ActiveXObject((navigator.userAgent.toLowerCase().indexOf('msie 5') != -1) ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP');
}
}
//封装ajax调用程序
function exeRequest(url, handle, v) {
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function() {
if(xmlHttp.readyState == 4){
if(xmlHttp.status == 200) {
handle(xmlHttp.responseText);
}
}
};
xmlHttp.open("post", url);
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttp.send(v);
}
//关于函数绑定事件:
Function.prototype.BindForEvent = function() {
var __m = this, object = arguments[0], args = new Array();
for(var i = 1; i < arguments.length; i++){
args.push(arguments[i]);
}
return function(event) {
return __m.apply(object, [( event || window.event)].concat(args));
}
}
//关于函数绑定参数:
Function.prototype.Bind = function() {
var __m = this, object = arguments[0], args = new Array();
for(var i = 1; i < arguments.length; i++){
args.push(arguments[i]);
}
return function() {
return __m.apply(object, args);
}
}
//url跨平台调用js数据
function getJsData(url){
var _script = document.createElement("script");
_script.type = "text/javascript";
_script.language = "javascript";
_script[_script.onreadystatechange === null ? "onreadystatechange" : "onload"] = function(){
if(this.onreadystatechange){
if(this.readyState != "complete" && this.readyState != "loaded") {return;}
};
setTimeout(function(){_script.parentNode.removeChild(_script)},1000);
};
_script.src = url;
document.getElementsByTagName("head")[0].appendChild(_script);
}
//事件的初始化类
Event = {
//判断是否出发鼠标左键事件
isLeftClick: function(event) {
//在ie中event.button; 在firefox中event.which
return (((event.which) && (event.which == 1)) || ((event.button) && (event.button == 1)));
},
//得到鼠标的横坐标;ie不承认pageX和pageY属性 pointerX:
function(event) {
return event.pageX || (event.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft));
},
//得到鼠标的纵坐标
pointerY: function(event) {
return event.pageY || (event.clientY + (document.documentElement.scrollTop || document.body.scrollTop));
},
//停止事件
stop: function(event) {
if (event.preventDefault) {
event.preventDefault();//在fireFox中一定要
event.stopPropagation();
} else {
event.returnValue = false;//在ie中一定要
}
},
//增加事件
observe: function(element, name, observer) {
if(element.addEventListener) {
element.addEventListener(name, observer,false);//"false"在fireFox中一定要
} else if (element.attachEvent) {
element.attachEvent('on'+name, observer);
}
},
//清除事件
stopObserving: function(element, name, observer) {
if (element.removeEventListener) {
element.removeEventListener(name, observer, false);
} else if (element.detachEvent) {
element.detachEvent('on' + name, observer);
}
}
}

分享到:
评论

相关推荐

    JQuery核心用法快速查询文档

    它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。 jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的...

    Ext Js权威指南(.zip.001

    2.2 配置使用ext js库 / 35 2.3 编写“hello world”程序 / 37 2.4 关于ext.onready / 38 2.5 关于ext.blank_image_url / 40 2.6 关于字体 / 42 2.7 ext js 4语法 / 42 2.8 本地化 / 60 2.9 为本书示例准备...

    一个基于PHP的外卖订餐网站源码,包括前端和后台.zip

    介绍 ... 运行环境:Apache+PHP+Mysql 代码说明 htaccess Rewrite配置文件,需要放入到项目根目录 ...data.sql 位于data目录中,是数据库备份文件,需要提前导入到mysql中...lib 各种常用函数库 scripts 各种js文件 style 各

    asp.net知识库

    获取數据库表的前N条记录 几段SQL Server语句和存储过程 生成表中的数据的脚本 最详细的SQL注入相关的命令整理 Oracle Oracle中PL/SQL单行函数和组函数详解 mssql+oracle Oracle编程的编码规范及命名规则 Oracle...

    百度地图开发java源码-flutter_qinlinApp:Flutter实际开发常用工具类(全局提示,请求封装,常用窗帘动画及布局)

    一星期从入门到实际开发经验分享及总结 Flutter 实际开发常用工具类(全局提示,请求封装,token缓存,验证码倒计时、常用窗帘动画及布局) 1. Flutter 是什么? Flutter 是 Google 开源的 UI 工具包,帮助开发者...

    搭建Hexo博客+部署到Github

    安装 Git二、安装Hexo三、运行测试Hexo1、常用命令2、运行博客四、将Hexo博客部署到Github上1、创建Github仓库2、推送到服务器 以下操作均在windows10 64位 系统下演示 一、准备工作(安装Node.js 和 Git) 1、...

    freemarker总结

    其它的运行符可以作用于数字和日期,但不能作用于字符串,大部分的时候,使用gt等字母运算符代替&gt;会有更好的效果,因为 FreeMarker会把&gt;解释成FTL标签的结束字符,当然,也可以使用括号来避免这种情况,如:(x&gt;y)&gt; ...

    实战OpenGL三维可视化系统开发与源码精解.part06.rar

    主要对所建立的三维可视化设计系统的主要特点和功能进行了介绍,对线路可视化设计系统加以总结,并对相应的功能模块进行集中说明,使读者能够对整个三维可视化设计有更加清晰的思路和概念,最后给出系统运行实例。...

    leetcode所有报错-school:编程、测试、阅读和分享经验的学校

    本项目为互联网测试开发、开发、工具、框架、读书学习总结与收藏集 如果你有好的推荐或愿意加入到这一学习、分享的过程中来,请直接邮件联系作者 收藏 Markdown 可读可写的 MarkDown 编辑器。 Ruby 一系列非常好的...

    电子游乐场:这是一个快速实验和学习与电子相关的API的项目

    电子游乐场介绍一个快速尝试和学习的项目,对electron的api进行了归纳和总结,对常用的业务功能拟演示演示。2.特性在文档和演练场中,几乎所有的代码都可以立即运行看到效果。或者直接在界面上修改代码运行。编辑器...

    python入门到高级全栈工程师培训 第3期 附课件代码

    11 函数闭包装饰器运行流程 12 函数闭包带参数装饰器 第21章 01 查询功能 02 修改功能 03 程序的解耦 04 module模块和包的介绍 05 模块的执行以及__name__ 06 关于模块的介绍 07 time时间模块 08 random模块 第22...

    GoodProject Maven Webapp.zip

    它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。 jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    Chrome Frame 会把最新版的Chrome Webkit 内核和JavaScript 引擎注入到IE中, IE浏览器将获得Chrome的性能和功能 目录 摘要 I ABSTRACT II 专业名词清单 III 第一章 绪论 1 1.1 研究背景与意义 1 1.2国内外相关...

    vc++ 开发实例源码包

    详细讲解了Crypt++的加密解密的使用以及其它的加密解密方法(例如base64加解密、哈希加解密以及其它的文件加解密),分静态库和动态库方法。 JSCalls_demo js调用的演示源码 树控件拖动 演示了在树控件中来回拖动...

    vc++ 应用源码包_1

    SkinMagic 2.21 动态库版本的使用和 Skin++动态库及静态库版本的使用。 VC++精仿QQ2008窗体及分类菜单 VC++卡通风格气泡提示源码 VC++实现任务管理器源码 任务管理器应该大家都很熟悉,论坛里也有好多的任务管理器...

    vc++ 应用源码包_2

    SkinMagic 2.21 动态库版本的使用和 Skin++动态库及静态库版本的使用。 VC++精仿QQ2008窗体及分类菜单 VC++卡通风格气泡提示源码 VC++实现任务管理器源码 任务管理器应该大家都很熟悉,论坛里也有好多的任务管理器...

    亮剑.NET深入体验与实战精要2

    因pdf的容量过大分4个压缩包打包,还有一个源码另外下载。 《.NET深入体验与实战精要》作者身为从事.NET一线开发的资深开发专家,常年耕耘...15.5.14 使用视图代替跨库操作 572 15.5.15 尽量避免大事务操作 572 15.5.16...

    vc++ 应用源码包_6

    SkinMagic 2.21 动态库版本的使用和 Skin++动态库及静态库版本的使用。 VC++精仿QQ2008窗体及分类菜单 VC++卡通风格气泡提示源码 VC++实现任务管理器源码 任务管理器应该大家都很熟悉,论坛里也有好多的任务管理器...

    亮剑.NET深入体验与实战精要3

    因pdf的容量过大分4个压缩包打包,还有一个源码另外下载。 《.NET深入体验与实战精要》作者身为从事.NET一线开发的资深开发专家,常年耕耘...15.5.14 使用视图代替跨库操作 572 15.5.15 尽量避免大事务操作 572 15.5.16...

    vc++ 应用源码包_5

    SkinMagic 2.21 动态库版本的使用和 Skin++动态库及静态库版本的使用。 VC++精仿QQ2008窗体及分类菜单 VC++卡通风格气泡提示源码 VC++实现任务管理器源码 任务管理器应该大家都很熟悉,论坛里也有好多的任务管理器...

Global site tag (gtag.js) - Google Analytics