尝试封装自己的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,控制器和注入等问题.那么再来看一下登录逻辑.这 ...
随机推荐
- sort()函数与qsort()函数及其头文件
sort()函数与qsort()函数及其头文件 sort()函数是C++中的排序函数其头文件为:#include<algorithm>头文件: qsort()是C中的排序函数,其头文件为: ...
- js 获取 sktime时间
效果图如下: HTML代码: <html> <head> <script> //------------------------------------------ ...
- python三元运算符
在c.php里面,都有三元运算符,如: a = b?c:d 意思是 b 的运算结果如果是True,那么整个表达式a就等于c,反之如果b的运算结果是False,那么a就等于d. 这样写起来简洁又高效 ...
- 《锋利的Jquery第二版》读书笔记 第二章
本章节主要Jquery选择器 jquery选择器与css选择器十分相似,特别需要注意的是 <script type="text/javascript"> documen ...
- C语言宏定义函数中的“_##”的意思
最近在看google vp9的代码的时候碰到: #define intra_pred_sized(type, size) \ void vp9_##type##_predictor_##size##x ...
- Get familiar with key Frameworks of ios
Frameworks make your life easier as an iOS Developer. They allow you to reuse code written by other ...
- hdoj 1068 Girls and Boys【匈牙利算法+最大独立集】
Girls and Boys Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- Android基础知识回顾
- (8/18)重学Standford_iOS7开发_协议、block、动画_课程笔记
第八课: 1.协议 另一种安全处理id类型的方式如:id <MyProtocol> obj a.声明 //协议一般放于.h文件中或者在类的.h文件中 @protocol Foo <X ...
- 转载-Linux下搭建VPN服务器(CentOS、pptp)
转自:http://www.cnblogs.com/sixiweb/archive/2012/11/20/2778732.html 搭建过程参考这篇文章 先说我搭建过程中出现的问题吧: 按照 教程搭建 ...