自己整理的一些javascript 的常用函数
2015-09-10 17:33
585 查看
刚学,就觉得原生实在是太不好写了。为了学习,也不能总用JQ,所以,就整理了一些常用的函数,以便自己在需要的时候,随时使用。
这是今天写的。我会把我的新想法,逐步整理到这个里面来。
[code]/* 集合一些常用的方法,便于在网页中调用,以免重复造轮子 */ var _Doc = document; // index(this/obg) 索引方法 function index(current, obj){ for (var i = 0; i < obj.length; i++) { if (obj[i] == current) { return i; } } } // hide(obj) / show(obj) 隐藏/显示 方法 function hide(obj){ obj.style.display = 'none'; } function show(obj){ obj.style.display = 'block'; } // getId(IdName) / 获取ID 方法 function GetId(IdName){ return _Doc.getElementById(IdName); } // GetTag(TagName) / 获取 tagname 方法 function GetTag(Fathers,TagName){ return Fathers.getElementsByTagName(TagName); } // ajax 方法 转载于:http://www.cnblogs.com/yjzhu/archive/2013/01/28/2879542.html function ajax(url, fnSucc, fnFaild){ //1.创建对象 var oAjax = null; if(window.XMLHttpRequest){ oAjax = new XMLHttpRequest(); }else{ oAjax = new ActiveXObject("Microsoft.XMLHTTP"); } //2.连接服务器 oAjax.open('GET', url, true); //open(方法, url, 是否异步) //3.发送请求 oAjax.send(null); //4.接收返回 oAjax.onreadystatechange = function(){ //OnReadyStateChange事件 if(oAjax.readyState == 4){ //4为完成 if(oAjax.status == 200){ //200为成功 fnSucc(oAjax.responseText) }else{ if(fnFaild){ fnFaild(); } } } }; } // Load(url,obj) 方法,将上面的ajax方法简化,改造成直接load一个页面进来 function Load(url,obj){ ajax(url,function(str){ obj.innerHTML = str; }); } // 去除字符串两端的空格 function DelBlank(str){ return str.replace(/(^\s*)|(\s*$)/g, ''); } // 从一段字符串中删除固定的另一段字符串 function DelSomeStr(Str,SomeStr) { return Str.replace(SomeStr,""); } // 判断一段字符串中是否包含空格 function HasBlank(str){ if (str.indexOf(" ")==-1) { return true; } else{ return false; }; } // 判断一个元素是否包含 class 如果有,返回真,否则返回假 function HasClass(obj){ if (obj.getAttribute("class")) { return true; } else{ return false; }; } // 获取他原有的class function GetClass(obj){ if (HasClass(obj)) { return obj.getAttribute("class"); } } // 给一个元素添加 class function AddClass(obj,CName){ // 原来是否有class if (HasClass(obj)) { // 获取原有样式,两端去空格后,存储到 OldClass var OldClass = DelBlank(GetClass(obj)); // 如果原有样式和要添加的样式不一样的话,就在原有样式的结尾,加上新样式 // 否则,就不用做啥了 if (CName!=OldClass) { obj.className = OldClass+' '+CName; } } else{ // 原来没有样式就直接加样式 obj.className = CName; }; } // 删除某个元素的 class function RemoveClass(obj,CName){ if (HasClass(obj)){ var OldClass = DelBlank(GetClass(obj)); // 这里没有做深处理。如果只有一个样式,并且删除之后,会留下一个为空的 class 不影响 obj.setAttribute("class", DelBlank(DelSomeStr(OldClass,CName))) } }
这是今天写的。我会把我的新想法,逐步整理到这个里面来。
相关文章推荐
- 转载:冷门js技巧
- js立即执行函数: (function ( ){...})( ) 与 (function ( ){...}( )) 有区别?
- 45个实用的JavaScript技巧、窍门和最佳实践
- Javascript 中的闭包和引用
- js取url的参数
- 13个JavaScript图表图形绘制插件
- JS重定向跳转代码
- js获取表单文本框中的值
- js闭包的用途详解
- JS浏览器类型推断方法
- 深入浅出javascript闭包的用途和几种写法
- js 40 个技巧
- JS有用函数
- js常用方法
- javascript入门系列演示·三种弹出对话框的用法实例
- js中for in 和 for each in的用法和区别
- 【JS】识别浏览器版本及操作平台
- javascript运算符
- js window.onload 应用 addEventListener讲解
- css与javascript跨浏览器兼容性总结