码迷,mamicode.com
首页 > 其他好文 > 详细

-------------------------------

时间:2016-12-01 07:41:17      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:rto   append   .class   int   api   ice   可见   数组   sel   

$(function(window){
	var o = {
	    //去除空格
	    trim = function(str){
	        if(String.prototype.trim){
	            return str == null ? "" : String.prototype.trim.call(str);
	        }else{
	            return str.replace(/(^\s*)|(\s*$)/g, "");
	        }
	    },
	    //获取元素的第一个
	    dom = function(el, selector){
	    	//传参为1
	        if(arguments.length === 1 && typeof arguments[0] == ‘string‘){
	            if(document.querySelector){
	                return document.querySelector(arguments[0]);
	            }
	        //传参为2    
	        }else if(arguments.length === 2){
	            if(el.querySelector){
	                return el.querySelector(selector);
	            }
	        }
	    },
//反回元素的集合 domAll = function(el, selector){ if(arguments.length === 1 && typeof arguments[0] == ‘string‘){ if(document.querySelectorAll){ return document.querySelectorAll(arguments[0]); } }else if(arguments.length === 2){ if(el.querySelectorAll){ return el.querySelectorAll(selector); } } },
//判断数组 isArray = function(obj){ if(Array.isArray){ return Array.isArray(obj); }else{ return obj instanceof Array; } }, //添加事件 addEvt = function(el, name, fn, useCapture){ var useCapture = useCapture || false; if(el.addEventListener) { el.addEventListener(name, fn, useCapture); } }, //移除事件 rmEvt = function(el, name, fn, useCapture){ var useCapture = useCapture || false; if (el.removeEventListener) { el.removeEventListener(name, fn, useCapture); } }, //获取第一个元素 first = function(el, selector){ if(arguments.length === 1){ return el.children[0]; } if(arguments.length === 2){ return this.dom(el, selector+‘:first-child‘); } }, //获取最后一个元素 last = function(el, selector){ if(arguments.length === 1){ var children = el.children; return children[children.length - 1]; } if(arguments.length === 2){ return this.dom(el, selector+‘:last-child‘); } }, //获取元素的index eq = function(el, index){ return this.dom(el, ‘:nth-child(‘+ index +‘)‘); }, //除了此元素 not = function(el, selector){ return this.domAll(el, ‘:not(‘+ selector +‘)‘); }, //上一个元素 prev = function(el){ var node = el.previousSibling; if(node.nodeType && node.nodeType === 3){ node = node.previousSibling; return node; } }, //下一个元素 next = function(el){ var node = el.nextSibling; if(node.nodeType && node.nodeType === 3){ node = node.nextSibling; return node; } },
//事件委托匹配元素祖先元素 closest = function(el, selector){ var doms, targetDom; var isSame = function(doms, el){ var i = 0, len = doms.length; for(i; i<len; i++){ if(doms[i].isEqualNode(el)){ return doms[i]; } } return false; }; var traversal = function(el, selector){ doms = u.domAll(el.parentNode, selector); targetDom = isSame(doms, el); while(!targetDom){ el = el.parentNode; if(el != null && el.nodeType == el.DOCUMENT_NODE){ return false; } traversal(el, selector); } return targetDom; }; return traversal(el, selector); }, //移除元素 remove = function(el){ if(el && el.parentNode){ el.parentNode.removeChild(el); } }, //设置获取元素的属性 attr = function(el, name, value){ if(arguments.length == 2){ return el.getAttribute(name); }else if(arguments.length == 3){ el.setAttribute(name, value); return el; } }, //移除元素的属性 removeAttr = function(el, name){ if(arguments.length === 2){ el.removeAttribute(name); } }, //判断是否有class hasCls = function(el, cls){ if(el.className.indexOf(cls) > -1){ return true; }else{ return false; } }, //添加class addCls = function(el, cls){ if(‘classList‘ in el){ el.classList.add(cls); }else{ var preCls = el.className; var newCls = preCls +‘ ‘+ cls; el.className = newCls; } return el; }, //删除class removeCls = function(el, cls){ if(‘classList‘ in el){ el.classList.remove(cls); }else{ var preCls = el.className; var newCls = preCls.replace(cls, ‘‘); el.className = newCls; } return el; }, //添加或删除动画 toggleCls = function(el, cls){ if(‘classList‘ in el){ el.classList.toggle(cls); }else{ if(u.hasCls(el, cls)){ u.addCls(el, cls); }else{ u.removeCls(el, cls); } } return el; }, //获取或改变元素的值 val = function(el, val){ if(arguments.length === 1){ switch(el.tagName){ case ‘SELECT‘: var value = el.options[el.selectedIndex].value; return value; break; case ‘INPUT‘: return el.value; break; case ‘TEXTAREA‘: return el.value; break; } } if(arguments.length === 2){ switch(el.tagName){ case ‘SELECT‘: el.options[el.selectedIndex].value = val; return el; break; case ‘INPUT‘: el.value = val; return el; break; case ‘TEXTAREA‘: el.value = val; return el; break; } } }, prepend = function(el, html){ el.insertAdjacentHTML(‘afterbegin‘, html); return el; }, append = function(el, html){ el.insertAdjacentHTML(‘beforeend‘, html); return el; }, before = function(el, html){ el.insertAdjacentHTML(‘beforebegin‘, html); return el; }, after = function(el, html){ el.insertAdjacentHTML(‘afterend‘, html); return el; }, //获取或改变html代码 html = function(el, html){ if(arguments.length === 1){ return el.innerHTML; }else if(arguments.length === 2){ el.innerHTML = html; return el; } }, //获取或改变文本 text = function(el, txt){ if(arguments.length === 1){ return el.textContent; }else if(arguments.length === 2){ el.textContent = txt; return el; } }, //对象位于页面可见内容的距离 offset = function(el){ var sl, st; if(document.documentElement){ sl = document.documentElement.scrollLeft; st = document.documentElement.scrollTop; }else{ sl = document.body.scrollLeft; st = document.body.scrollTop; } var rect = el.getBoundingClientRect(); return { l: rect.left + sl, t: rect.top + st, w: el.offsetWidth, h: el.offsetHeight }; }, css = function(el, css){ if(typeof css == ‘string‘ && css.indexOf(‘:‘) > 0){ el.style && (el.style.cssText += ‘;‘ + css); } }; //得到元素的css cssVal = function(el, prop){ if(arguments.length === 2){ var computedStyle = window.getComputedStyle(el, null); return computedStyle.getPropertyValue(prop); } }, //json转化为字符串 jsonToStr = function(json){ if(typeof json === ‘object‘){ return JSON && JSON.stringify(json); } }, //字符串转化json strToJson = function(str){ if(typeof str === ‘string‘){ return JSON && JSON.parse(str); } }, //添加缓存信息 setStorage = function(key, value){ if(arguments.length === 2){ var v = value; if(typeof v == ‘object‘){ v = JSON.stringify(v); v = ‘obj-‘+ v; }else{ v = ‘str-‘+ v; } var ls = uzStorage(); if(ls){ ls.setItem(key, v); } } }, //获取缓存信息 getStorage = function(key){ var ls = uzStorage(); if(ls){ var v = ls.getItem(key); if(!v){return;} if(v.indexOf(‘obj-‘) === 0){ v = v.slice(4); return JSON.parse(v); }else if(v.indexOf(‘str-‘) === 0){ return v.slice(4); } } }, //移除缓存信息 removeStorage = function(key){ var ls = uzStorage(); if(ls && key){ ls.removeItem(key); } }, //清楚所有缓存信息 clearStorage = function(){ var ls = uzStorage(); if(ls){ ls.clear(); } }, u.fixIos7Bar = function(el){ var strDM = api.systemType; if (strDM == ‘ios‘) { var strSV = api.systemVersion; var numSV = parseInt(strSV,10); var fullScreen = api.fullScreen; var iOS7StatusBarAppearance = api.iOS7StatusBarAppearance; if (numSV >= 7 && !fullScreen && iOS7StatusBarAppearance) { el.style.paddingTop = ‘20px‘; } } }, post = function(/*url,data,fnSuc,dataType*/){ var argsToJson = parseArguments.apply(null, arguments); var json = {}; var fnSuc = argsToJson.fnSuc; argsToJson.url && (json.url = argsToJson.url); argsToJson.data && (json.data = argsToJson.data); if(argsToJson.dataType){ var type = toLowerCase(argsToJson.dataType); if (type == ‘text‘||type == ‘json‘) { json.dataType = type; } }else{ json.dataType = ‘json‘; }; json.method = ‘post‘; api.ajax(json, function(ret,err){ if (ret) { fnSuc && fnSuc(ret); }; } ); }, get = function(/*url,fnSuc,dataType*/){ var argsToJson = parseArguments.apply(null, arguments); var json = {}; var fnSuc = argsToJson.fnSuc; argsToJson.url && (json.url = argsToJson.url); //argsToJson.data && (json.data = argsToJson.data); if(argsToJson.dataType){ var type = toLowerCase(argsToJson.dataType); if (type == ‘text‘||type == ‘json‘) { json.dataType = type; } }else{ json.dataType = ‘text‘; }; json.method = ‘get‘; api.ajax(json, function(ret,err){ if (ret) { fnSuc && fnSuc(ret); }; } ); }; }; window.zhanglei = o; })(window)

  

-------------------------------

标签:rto   append   .class   int   api   ice   可见   数组   sel   

原文地址:http://www.cnblogs.com/leijuan/p/6120475.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!