学了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库的更多相关文章

  1. 封装自己的JS库

    一.基础知识 1.点击计数 第一种: var aBtn=document.getElementsByTagName('input'); var i=0; for(i=0;i<aBtn.lengt ...

  2. 仿照jquery封装一个自己的js库

    所谓造轮子的好处就是复习知识点,加深对原版jquery的理解.本文系笔者学习jquery的笔记,记述一个名为"dQuery"的初级版和缩水版jquery库的实现.主要涉及知识点包括 ...

  3. 仿照jquery封装一个自己的js库(二)

    本篇为完结篇.主要讲述如何造出轮子的高级特性. 一. css方法的高级操作 先看本文第一部分所讲的dQuery css方法 //css方法 dQuery.prototype.css=function( ...

  4. 仿照jquery封装一个自己的js库(一)

    所谓造轮子的好处就是复习知识点,加深对原版jquery的理解. 本文系笔者学习jquery的笔记,记述一个名为"dQuery"的初级版和缩水版jquery库的实现.主要涉及知识点包 ...

  5. 封装常用的js(Base.js)——【01】理解库,获取节点,连缀,

    封装常用的js(Base.js)——[01]理解库,获取节点,连缀,  youjobit07 2014-10-10 15:32:59 前言:       现如今有太多优秀的开源javascript库, ...

  6. JsQuick--个人封装的Js库

    JsQuick 该库为本人封装的Js库,尚未进行浏览器兼容 /** * 快速框架 版本:1.0.0 * 日期:2015.02.26 * 作者:简楚恩 */ /** * 快速获取控件类 */ var $ ...

  7. 在Vue将第三方JS库封装为组件使用

    第三方JS库地址:https://github.com/inorganik/CountUp.js 使用NPM进行安装: npm install --save countup 根据官方回答,CountU ...

  8. ABP+AdminLTE+Bootstrap Table权限管理系统第七节--登录逻辑及abp封装的Javascript函数库

    经过前几节,我们已经解决数据库,模型,DTO,控制器和注入等问题.那么再来看一下登录逻辑.这里算是前面几节的一个初次试水. 首先我们数据库已经有的相应的数据. 模型和DTO已经建好,所以我们直接在服务 ...

  9. ABP+AdminLTE+Bootstrap Table权限管理系统第七节--登录逻辑及几种abp封装的Javascript函数库

    返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期         简介 经过前几节,我们已经解决数据库,模型,DTO,控制器和注入等问题.那么再来看一下登录逻辑.这 ...

随机推荐

  1. HDU-1495 非常可乐(BFS)

    广搜的灵活应用题: 非常可乐 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) T ...

  2. PHP向MySql中插入数据

    <!DOCTYPE html> <!-- To change this license header, choose License Headers in Project Prope ...

  3. Netbeans代码配色主题大搜集

    我用netbeans的原因之一就是因为其支持代码配色主题,这是个对于一个代码配色字体控来说是非常重要的一个功能.理所当然的,我也会收集各种配色主题来时常换换口味. 下面就是我目前收集的Netbeans ...

  4. jquery ajax 使用layer的超时提示

    <!DOCTYPE html> <html> <head> <title>我是标题</title> <meta name=" ...

  5. java利用反射调用类的某个方法

    java利用反射机制 可以动态调用某个类的某个方法,在 扩展系统功能或提供对外接口时经常用的到. 代码如下: 打印类Print.java package com.test.reflct; /** * ...

  6. JQuery- 动画与效果

    这几天做网站,刚好用到! 1.基本效果 匹配元素从左上角开始变浓变大或缩小到左上角变淡变小 ①隐藏元素 除了可以设置匹配元素的display:none外,可以用以下函数 hide(speed,[cal ...

  7. Java NIO使用及原理分析(三)

    在上一篇文章中介绍了缓冲区内部对于状态变化的跟踪机制,而对于NIO中缓冲区来说,还有很多的内容值的学习,如缓冲区的分片与数据共享,只读缓冲区等.在本文中我们来看一下缓冲区一些更细节的内容. 缓冲区的分 ...

  8. Plinq-Parallel.ForEach for 性能提升

    https://msdn.microsoft.com/zh-cn/library/dd460720.aspx 本示例显示如何使用 Parallel.ForEach 循环对任何 System.Colle ...

  9. Java或web中解决所有路径问题

    Java开发中使用的路径,分为两种:绝对路径和相对路径.归根结底,Java本质上只能使用绝对路径来寻找资源.所有的相对路径寻找资源的方法,都不过是一些便利方法.不过是API在底层帮助我们构建了绝对路径 ...

  10. BABOK - 企业分析(Enterprise Analysis)

    BABOK - 企业分析(Enterprise Analysis)概要 发表于2013年10月9日由周金根 描述 企业分析描述我们如何捕捉.提炼并明晰业务需要,并定义一个可能实现这些业务需要的一个方案 ...