尝试封装自己的js库
学了js,用过jquery,然后想着让自己在js这一块有更深的提高,就想尝试着封装自己的js库,偶尔就添加自己想到的功能。有参考过其他大牛封装库的方法,不懂的地方也有借鉴过,但代码还是自己想,自己理解,自己实际敲打的,也会不断完善,修改自己的js库啦。
// JavaScript Document
/*
author:mimeay/Chen Xiaochi
email:mimeay@163.com
qq:200909050
date:2013/11/9
*/
(function()
{
window.xc={};
window.xc={
get_id:function(id){
return document.getElementById(id);
},
get_name:function(name){
return document.getElementsByName(name);
},
get_ele:function(ele){
return document.getElementsByTagName(ele);
},
//获取节点attr值
get_attr:function(obj,attr){
obj.getAttribute(attr);
return obj;
},
//设置节点attr值
set_attr:function(obj,attr){
for(key in attr)
{
if(key=='className'){
obj.setAttribute(key.slice(0,5),attr[key]);
}else{
obj.setAttribute(key,attr[key]);
}
}
return obj;
},
//清除字符串空格
trim:function(str){
var strtrim=str.replace(/\s+/g,"");
return strtrim;
},
//验证email
email:function(email){
var checkemail=email.match(/[A-z]{1}\w{1,5}@([a-z]{2,}|\d{1,})[.]com/);
if(checkemail){return 1;}else{return -1;}
},
//设置表格隔行显示不同颜色
setTableColor:function(id,cobj){
var obj=this.get_id(id);
var trobj=obj.getElementsByTagName("tr");
var len=trobj.length;
var i;
for(i=0;i<len;i++)
{
if(i%2==0){
trobj.item(i).style.backgroundColor=cobj.even;
}else{
trobj.item(i).style.backgroundColor=cobj.ood;
}
}
return trobj;
},
//动态加载js
loadjs:function(url){
var state=true;
var js=this.get_ele("script");
var jlen=js.length;
var i;
for(i=0;i<jlen;i++)
{
if(js.item(i).getAttribute("src")==url)
{
state=false;
}
}
if(state){
var script=document.createElement("script");
script.type="type/javascript";
script.src=url;
var head=document.getElementsByTagName("head").item(0);
head.appendChild(script);
}
},
//网页url截取
s_url:function(url){
urlmain=url.split("?");
if(urlmain[1]){
urlarr=urlmain[1].split("&");
var arr=new Array();
for(var key in urlarr)
{
var urlkw=urlarr[key].split("=");
if(urlkw[0]&&urlkw[1])
{
arr.push(urlkw[1]);
}
}
}
return arr;
}
};
})();
尝试封装自己的js库的更多相关文章
- 封装自己的JS库
一.基础知识 1.点击计数 第一种: var aBtn=document.getElementsByTagName('input'); var i=0; for(i=0;i<aBtn.lengt ...
- 仿照jquery封装一个自己的js库
所谓造轮子的好处就是复习知识点,加深对原版jquery的理解.本文系笔者学习jquery的笔记,记述一个名为"dQuery"的初级版和缩水版jquery库的实现.主要涉及知识点包括 ...
- 仿照jquery封装一个自己的js库(二)
本篇为完结篇.主要讲述如何造出轮子的高级特性. 一. css方法的高级操作 先看本文第一部分所讲的dQuery css方法 //css方法 dQuery.prototype.css=function( ...
- 仿照jquery封装一个自己的js库(一)
所谓造轮子的好处就是复习知识点,加深对原版jquery的理解. 本文系笔者学习jquery的笔记,记述一个名为"dQuery"的初级版和缩水版jquery库的实现.主要涉及知识点包 ...
- 封装常用的js(Base.js)——【01】理解库,获取节点,连缀,
封装常用的js(Base.js)——[01]理解库,获取节点,连缀, youjobit07 2014-10-10 15:32:59 前言: 现如今有太多优秀的开源javascript库, ...
- JsQuick--个人封装的Js库
JsQuick 该库为本人封装的Js库,尚未进行浏览器兼容 /** * 快速框架 版本:1.0.0 * 日期:2015.02.26 * 作者:简楚恩 */ /** * 快速获取控件类 */ var $ ...
- 在Vue将第三方JS库封装为组件使用
第三方JS库地址:https://github.com/inorganik/CountUp.js 使用NPM进行安装: npm install --save countup 根据官方回答,CountU ...
- ABP+AdminLTE+Bootstrap Table权限管理系统第七节--登录逻辑及abp封装的Javascript函数库
经过前几节,我们已经解决数据库,模型,DTO,控制器和注入等问题.那么再来看一下登录逻辑.这里算是前面几节的一个初次试水. 首先我们数据库已经有的相应的数据. 模型和DTO已经建好,所以我们直接在服务 ...
- ABP+AdminLTE+Bootstrap Table权限管理系统第七节--登录逻辑及几种abp封装的Javascript函数库
返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期 简介 经过前几节,我们已经解决数据库,模型,DTO,控制器和注入等问题.那么再来看一下登录逻辑.这 ...
随机推荐
- OGRE插件设计-Texture与GLTexture
背景: 学习OGRE,在OGRE中 Core是最小的精简逻辑集合,而真正的功能则需要插件来实现,但是作为插件应该与Core保持最小的连接,同时Core不会调用插件的接口,而动态链接库又不能直接把类连接 ...
- UVA 11802 All Your Bases Belong to Us
题意:这个题题意个人觉得蛮难懂的....意思就是求,把十进制下的n!转化成m进制,末位有且仅有k个连续的0.告诉n和k,求满足题意的m有多少个. 1<= k <= 10^15,n < ...
- 【Java重构系列】重构31式之搬移方法
重构第二式:搬移方法 (Refactoring 2: Move Method) 毋容置疑,搬移方法(Move Method)应该是最常用的重构手段之一,正因为太常用而且较为简单,以至于很多人并不认为它 ...
- SOA技术的进化史
SOA 是一种程序设计思想,其实早在远古时代(计算机史)它就已经出现了.无非就是把系统分解,将数据和业务逻辑部分尽量独立出来,然后以服务形式提供给另外的系统共用. 那时也有一些可以实现 SOA 的工具 ...
- DBA日常工作职责 - 我对DBA的七点建议
作者:eygle |English [转载时请标明出处和作者信息]|[恩墨学院 OCM培训传DBA成功之道]链接:http://www.eygle.com/archives/2009/02/sugge ...
- Code Forces 711D Directed Roads
D. Directed Roads time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...
- [转]3proxy 二级代理配置样例
转自:http://www.cnblogs.com/airsong23/p/3893094.html 适应情况: 有时,我们的机器HOST-A只能通过代理服务器HOST-B才可以访问internet, ...
- SpringMVC项目接入Springfox实战遇到的问题集合
为了方便的管理项目中API接口,目前总是会写好接口后,然后又要去维护一个文档,这对于开发者来说太心累了, 在网上找了好多关于API接口管理和生成文档的资料,一次偶然跟51的大神交流发现了Swagger ...
- ios7新特性实践
一 iOS 7 新特性:视图控制器切换API 二 iOS 7系列译文:认识 TextKit 三 iOS 7系列译文:iOS7的多任务处理 四 iOS7 最佳实践:一个天气应用案例(上) 五 iOS7 ...
- 《Linux内核设计与实现》学习笔记之“Linux进程管理机制”
一.进程(或者称为“任务”)简介 进程是OS最基本的抽象之一,通常进程包括“可执行程序代码”,“其他资源”(如:打开的文件,挂起的信号,内核内部数据,处理器状态,地址空间,一个或多个执行线程等) 二. ...