common.js

简介:
Java代码   收藏代码
  1. function openwinx(url,name,w,h)  
  2. {  
  3.     window.open(url,name,"top=100,left=400,width=" + w + ",height=" + h + ",toolbar=no,menubar=no,scrollbars=yes,resizable=no,location=no,status=no");  
  4. }  
  5.   
  6. function Dialog(url,name,w,h)  
  7. {  
  8.     return showModalDialog(url, name, 'dialogWidth:'+w+'px; dialogHeight:'+h+'px; help: no; scroll: yes; status: no');  
  9. }  
  10.   
  11. //表单常用docform=document.forms[i]  
  12. function loadURLAction (url,docform,submittype){  
  13.     docform.action = url;  
  14.     docform.method = submittype;   //设置提交方式   
  15.     docform.submit();  
  16. }  
  17.   
  18. function doSubmit (docform,url){  
  19.     docform.action = url;  
  20.     docform.submit();  
  21. }  
  22.   
  23. function doReset (docform){  
  24.     docform.reset();  
  25. }  
  26.   
  27. function doRefresh (){  
  28.     self.location.reload();  
  29. }  
 

表中不填还原默认值,提交调用验证(适合新增页面 ,不适合修改)

Js代码   收藏代码
  1. //如果input为空,还原input 默认值  
  2. function resetFields(whichform) {  
  3.     for (var i=0; i<whichform.length; i++) {  
  4.         var element = whichform.elements[i];  
  5.         if (element.type == "submit"continue;  
  6.         if (element.type == "radio"continue;  
  7.         if (element.type == "checkbox"continue;  
  8.  if (!element.defaultValue) continue;  
  9.          
  10.         element.onfocus = function() {  
  11.             if (this.value == this.defaultValue) {  
  12.                 this.value = "";     
  13.             }  
  14.         }      
  15.         element.onblur = function() {  
  16.             if (this.value == "") {  
  17.                 this.value = this.defaultValue;     
  18.             }     
  19.         }  
  20.     }     
  21. }  
  22.   
  23. function prepareForms() {  
  24.     for (var i=0; i<document.forms.length; i++) {  
  25.         var thisform = document.forms[i];  
  26.         resetFields(thisform);  
  27.       /*  thisform.onsubmit = function() { 
  28.             return validataForm(this); 
  29.         }*/  
  30.     }  
  31. }  
  32.   
  33. addLoadEvent(prepareForms);  
 

class attribute

Js代码   收藏代码
  1. /** 
  2.  * 为对象添加 className 
  3.  * @param {Object} 需要添加className的节点 
  4.  * @param {String}  要添加的 className 
  5.  */  
  6. function addClass(element,value) {  
  7.     if (!element.className) {  
  8.         element.className = value;  
  9.     }else {  
  10.         newClassName = element.className;  
  11.         newClassName+= " ";  
  12.         newClassName+= value;  
  13.         element.className = newClassName;  
  14.     }     
  15. }  
  16.   
  17. /** 
  18.  * 为对象删除 className 
  19.  * @param {Object} 需要删除className的节点 
  20.  * @param {String}  要删除的 className 
  21.  */  
  22. function removeClass(el, cls) {  
  23.     var el = $(el);  
  24.     if(!el) return;  
  25.     el.className = el.className.replace(new RegExp("(^|\\s+)" + cls + "(\\s+|$)"), ' ');  
  26. }  
  27.   
  28. /** 
  29.  * 判断对象是否存在该 className 
  30.  * @param {Object} 需要判断className的节点 
  31.  * @param {String}  要判断的 className 
  32.  */  
  33. function hasClass(node, className) {  
  34.     var elementClassName = node.className;  
  35.     return (elementClassName.length > 0 && (elementClassName == className || new RegExp("(^|\\s)" + className + "(\\s|$)").test(elementClassName)));  
  36. }     
  37.   
  38. /* grab Elements from the DOM by className */  
  39. function getElementsByClass(searchClass,node,tag) {  
  40.     var classElements = new Array();  
  41.     if ( node == null )  
  42.         node = document;  
  43.     if ( tag == null )  
  44.         tag = '*';  
  45.     var els = node.getElementsByTagName(tag);  
  46.     var elsLen = els.length;  
  47.     var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");  
  48.     for (i = 0, j = 0; i < elsLen; i++) {  
  49.         if ( pattern.test(els[i].className) ) {  
  50.             classElements[j] = els[i];  
  51.             j++;  
  52.         }  
  53.     }  
  54.     return classElements;  
  55. }  

浏览器检测

Java代码   收藏代码
  1. var BROWSER = {};  
  2. var USERAGENT = navigator.userAgent.toLowerCase();  
  3. browserVersion({'ie':'msie','firefox':'','chrome':'','opera':'','safari':'','maxthon':'','mozilla':'','webkit':''});  
  4. if(BROWSER.safari) {  
  5.     BROWSER.firefox = true;  
  6. }  
  7. BROWSER.opera = BROWSER.opera ? opera.version() : 0;  
  8. function browserVersion(types) {  
  9.     var other = 1;  
  10.     for(i in types) {  
  11.         var v = types[i] ? types[i] : i;  
  12.         if(USERAGENT.indexOf(v) != -1) {  
  13.             var re = new RegExp(v + '(\\/|\\s)([\\d\\.]+)''ig');  
  14.             var matches = re.exec(USERAGENT);  
  15.             var ver = matches != null ? matches[2] : 0;  
  16.             other = ver !== 0 ? 0 : other;  
  17.         }else {  
  18.             var ver = 0;  
  19.         }  
  20.         eval('BROWSER.' + i + '= ver');  
  21.     }  
  22.     BROWSER.other = other;  
  23. }  
  24. if(BROWSER.ie){alert('232');}else{alert('ff');}  

sdfsd

Common.js代码   收藏代码
  1. /* quick getElement reference */  
  2. function $() {  
  3.     var elements = new Array();  
  4.     for (var i = 0; i < arguments.length; i++) {  
  5.         var element = arguments[i];  
  6.         if (typeof element == 'string')  
  7.             element = document.getElementById(element);  
  8.         if (arguments.length == 1)  
  9.             return element;  
  10.         elements.push(element);  
  11.     }  
  12.     return elements;  
  13. }  
  14.   
  15. function getParameter(name){  
  16.     var search = document.location.search;  
  17.     var pattern = new RegExp("[?&]"+name+"\=([^&]+)""g");  
  18.     var matcher = pattern.exec(search);  
  19.     var items = null;  
  20.     if(null != matcher){  
  21.         items = decodeURIComponent(matcher[1]);  
  22.         //items = unescape(matcher[1]);  
  23.     }  
  24.     return items;  
  25. }  
  26.   
  27. function isUndefined(variable) {  
  28.     return typeof variable == 'undefined' ? true : false;  
  29. }  
  30.   
  31. function dwrite(ht_str) {  
  32.     document.write(ht_str);  
  33. }  
  34.   
  35. function addEvent(elm, evType, fn, useCapture) {  
  36.     if (elm.addEventListener) {   // Mozilla系列  
  37.         elm.addEventListener(evType, fn, useCapture);  
  38.         return true;  
  39.     }  
  40.     else if (elm.attachEvent) {   //IE系列  
  41.         var r = elm.attachEvent('on' + evType, fn);  
  42.         return r;  
  43.     }  
  44.     else {  
  45.         elm['on' + evType] = fn;  
  46.     }  
  47. }  
  48.   
  49. var EventCache = function(){  
  50.     var listEvents = [];  
  51.     return {  
  52.         listEvents : listEvents,  
  53.         add : function(node, sEventName, fHandler){  
  54.             listEvents.push(arguments);  
  55.         },  
  56.         flush : function(){  
  57.             var i, item;  
  58.             for(i = listEvents.length - 1; i >= 0; i = i - 1){  
  59.                 item = listEvents[i];  
  60.                 if(item[0].removeEventListener){  
  61.                     item[0].removeEventListener(item[1], item[2], item[3]);  
  62.                 };  
  63.                 if(item[1].substring(02) != "on"){  
  64.                     item[1] = "on" + item[1];  
  65.                 };  
  66.                 if(item[0].detachEvent){  
  67.                     item[0].detachEvent(item[1], item[2]);  
  68.                 };  
  69.                 item[0][item[1]] = null;  
  70.             };  
  71.         }  
  72.     };  
  73. }();  
  74. addEvent(window,'unload',EventCache.flush);  
  75.   
  76. function addLoadEvent(func) {  
  77.     var oldonload = window.onload;  
  78.     if (typeof window.onload != 'function') {  
  79.         window.onload = func;     
  80.     }else {  
  81.         window.onload = function() {  
  82.             oldonload();  
  83.             func();  
  84.         }  
  85.     }  
  86. }  
  87.   
  88. /**  
  89. * 获取Event对象  
  90. * @method getEvent  
  91. * @return {Event} event对象     
  92. * getEvent();  
  93. */  
  94. function getEvent() { //ie && ff  
  95.     if(document.all) return window.event;  
  96.     func = getEvent.caller;  
  97.     while(func != null) {  
  98.         var arg0 = func.arguments[0];  
  99.         if (arg0) {  
  100.             if((arg0.constructor  == Event || arg0.constructor == MouseEvent) || (typeof(arg0) == "object" && arg0.preventDefault && arg0.stopPropagation)) {  
  101.                 return arg0;  
  102.             }  
  103.         }  
  104.         func=func.caller;  
  105.     }  
  106.     return null;  
  107. }  
  108.   
  109. /*阻止浏览器默认操作*/  
  110. function stopDefault() {  
  111.     var ev = getEvent();  
  112.     if(ev.stopPropagation){ //firefox  
  113.         ev.preventDefault();  
  114.     }else{ //ie   
  115.         ev.returnValue = false;  
  116.     }  
  117. }  
  118.   
  119. /*功能:停止事件冒泡*/  
  120. function stopBubble() {  
  121.     var ev = getEvent();  
  122.     if(ev.stopPropagation){ //firefox  
  123.         ev.stopPropagation();    
  124.     }else{ //ie   
  125.         ev.cancelBubble = true;  
  126.     }  
  127. }  
  128.   
  129. /**  
  130.  * 禁止Event事件冒泡,阻止默认行为  
  131.  * @method stopEvent  
  132.  * stopEvent();  
  133. */  
  134. function stopEvent() {  
  135.     stopDefault();  
  136.     stopBubble();  
  137. }  
  138.   
  139. function toggle(obj) {  
  140.     var el = document.getElementById(obj);  
  141.     if ( el.style.display != 'none' ) {  
  142.         el.style.display = 'none';  
  143.     }else {  
  144.         el.style.display = 'block';  
  145.     }  
  146. }  
  147.   
  148. /* insert an element after a particular node */  
  149. function insertAfter(parent, node, referenceNode) {  
  150.     parent.insertBefore(node, referenceNode.nextSibling);  
  151. }  

isUndefined

Undefine调用代码   收藏代码
  1. function ajaxmenu(ctrlObj, timeout, cache, duration, pos, recall) {  
  2.     if(isUndefined(pos)) pos = '43';  
  3. }  

addEvent : 注释:elm元素evType时调用fn函数,useCapture参数:true时为事件捕获(Event capturing) false时为事件冒泡(Event bubblin),默认为false;

Java代码   收藏代码
  1. <html xmlns="http://www.w3.org/1999/xhtml">  
  2. <head>  
  3.     <title>调用演示</title>  
  4.    <script type="text/javascript" language="javascript">  
  5.    function addEvent(elm, evType, fn, useCapture) {...}  
  6.    function show() {  
  7.            alert("Message!");   
  8.    }  
  9.    addEvent(window,"load",show)  
  10.    </script>  
  11.  </head>  
  12.  <body>  
  13.     调用演示    
  14.  </body>  
  15. </html>  

       注释:我们有getElementById() , getElementsByName() , getElementsByTagName() , 现在终于有了getElementsByClass(),它的作用是找到node中具有相同Class的tag元素;

Java代码   收藏代码
  1. <html>  
  2. <head>  
  3.    <title>getElementsByClass()调用演示</title>   
  4.    <script type="text/javascript">  
  5.         function getElementsByClass(searchClass,node,tag) {...}  
  6.    </script>  
  7. </head>  
  8.  <body>   
  9.     <input class="aa" value="0"  />  
  10.     <div id="wrapper">  
  11.         <input class="aa" value="1"  />  
  12.         <input class="aa" value="2"  />  
  13.         <input class="aa" value="3"  />  
  14.         <input class="aa" value="4"  />  
  15.         <input class="bbb" value="5"  />  
  16.      </div>  
  17.     <input  type="button" value="调用函数"  onclick="alert(getElementsByClass('aa',wrapper,'input').length)"/>  
  18. </body></html>  

 toggler

Java代码   收藏代码
  1. <html><head> <title>toggle调用演示</title>   
  2.  <script type="text/javascript">  
  3.       function toggle(obj) {...}  
  4.  </script>  
  5.  </head><body>   
  6.     <div id="wrapper">  
  7.           xx,到此一游  
  8.    </div>  
  9.      <input  type="button" value="show"  onclick="toggle('wrapper')"/>  
  10. </body></html>  

  注释:很奇怪,DOM中给出了insertBefore()方法,却没有insertAfter()方法,不过现在有了这个函数.在目标元素后面插入新的元素

Java代码   收藏代码
  1. <html>  
  2. <head>  
  3. <title>insertAfter()调用演示</title>   
  4.  <script type="text/javascript">  
  5.       function insertAfter(newElement, targetElement){...}  
  6.       window.onload=function(){     
  7.              var new =document.createElement("span");     
  8.              var b =document.createTextNode("new text!");     
  9.              new.appendChild(b);     
  10.              var target = document.getElementById("b");     
  11.              insertAfter(new,target);       
  12. }  
  13.  </script>  
  14.  </head>  
  15.  <body>  
  16.      <div id="b">bbb</div>    
  17. </body>  
  18. </html>  

阻止浏览器默认操作

Java代码   收藏代码
  1. <script type="text/javascript">    
  2.     function stopDefault( e ) {       
  3.         //适用于火狐等实现了W3C规范的浏览器       
  4.         if ( e && e.preventDefault )           
  5.             e.preventDefault();       
  6.         //适用于IE      
  7.         else          
  8.             window.event.returnValue = false;       
  9.         return false;   
  10.     }  
  11. </script>    
  12. <a href="http://www.google.com" id="testLink">Google</a>    
  13. <script type="text/javascript">   
  14.     var test = document.getElementById('testLink');   
  15.     test.onclick = function(e) {       
  16.         alert('我的链接地址是:' + this.href + ', 但是我不会跳转。');       
  17.         stopDefault(e);   
  18.     }   
  19. </script>    
 
相关文章
|
17天前
|
JavaScript 前端开发
JS require 与 import 的区别
JS require 与 import 的区别
14 1
|
4月前
|
JavaScript 前端开发
JS中 require 与 import 的区别
JS中 require 与 import 的区别
|
8月前
|
JavaScript 前端开发 算法
JS的解析与Js2Py使用
Js2Py是一个Python库,用于将JavaScript代码转换为Python代码,并在Python环境中执行JavaScript。
142 1
|
8月前
|
前端开发 JavaScript CDN
Nuxt.js 使用 fullPage.js 支持 SSR
Nuxt.js 使用 fullPage.js 支持 SSR
214 0
Nuxt.js 使用 fullPage.js 支持 SSR
|
9月前
|
JavaScript 前端开发 Ruby
打包出来的 common.js/umd.js 是啥?
打包出来的 common.js/umd.js 是啥?
114 0
|
11月前
|
JavaScript 前端开发
js中的import和export
# 引言 我们在开发时,如果将 JavaScript 加载到页面中,通常是以小片段的形式提供效果和交互,一般会把所有的 JavaScript 代码全都写在一个文件中,并加载到一个 `script` 标签中。尽管可以把 JavaScript 拆分为多个文件,但是所有的变量和函数仍然会被添加到全局作用域中。 由此我们需要使用第三方代码来完成常见任务,并且需要把代码分解为模块化的文件,避免污染全局命名空间。 ECMAScript 2015 规范在 JavaScript 语言中引入了 *module*,也有了 import 和 export 语句。 `import`和`eport`声明共同作用
|
JavaScript
vue.js:node_modules/_babel-runtime@6.26.0@babel-runtime/core-js/object/assign.js
vue.js:node_modules/_babel-runtime@6.26.0@babel-runtime/core-js/object/assign.js
77 0
|
JavaScript
JS之export and import (详细介绍)
JS之export and import (详细介绍)
182 0
JS之export and import (详细介绍)
|
前端开发 API