`
tanleihaoren
  • 浏览: 68884 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

10个常用自定义JavaScript函数

阅读更多

10) addEvent()   

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

function addEvent(elm, evType, fn, useCapture) {
	if (elm.addEventListener) {   // Mozilla系列
		elm.addEventListener(evType, fn, useCapture);
		return true;
	}
	else if (elm.attachEvent) {   //IE系列
		var r = elm.attachEvent('on' + evType, fn);
		return r;
	}
	else {
		elm['on' + evType] = fn;
	}
}

        这个函数有更好的实现,请看  最好的addEvent/removeEvent

  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
      <title>调用演示</title>
     <script type="text/javascript" language="javascript">
     function addEvent(elm, evType, fn, useCapture) {...}
     function show() {
             alert("Message!"); 
     }
     addEvent(window,"load",show)
     </script>
   </head>
   <body>
      调用演示  
   </body>
  </html>

 9) addLoadEvent()

function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	}
	else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

   效果同:

addEvent(window,'load',func,false);

  8) getElementsByClass()

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

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp('(^|\\\\s)'+searchClass+'(\\\\s|$)');
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

 

<html>
<head>
   <title>getElementsByClass()调用演示</title> 
   <script type="text/javascript">
        function getElementsByClass(searchClass,node,tag) {...}
   </script>
</head>
 <body> 
    <input class="aa" value="0"  />
    <div id="wrapper">
        <input class="aa" value="1"  />
        <input class="aa" value="2"  />
        <input class="aa" value="3"  />
        <input class="aa" value="4"  />
        <input class="bbb" value="5"  />
     </div>
    <input  type="button" value="调用函数"  onclick="alert(getElementsByClass('aa',wrapper,'input').length)"/>
</body></html>

 7) cssQuery()

   css选择器太长了,就不post了,有兴趣的同学可以自己在网上搜搜!(*^__^*)

 6) toggle()

   注释:很简单的元素显示和隐藏的实现

function toggle(obj) {
	var el = document.getElementById(obj);
	if ( el.style.display != 'none' ) {
		el.style.display = 'none';
	}
	else {
		el.style.display = '';
	}
}

 

<html><head> <title>toggle调用演示</title> 
 <script type="text/javascript">
      function toggle(obj) {...}
 </script>
 </head><body> 
    <div id="wrapper">
          xx,到此一游
   </div>
     <input  type="button" value="show"  onclick="toggle('wrapper')"/>
</body></html>

 5) insertAfter()

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

function insertAfter(newElement, targetElement){
  var parent = targetElement.parentNode;
  if(parent.lastChild == targetElement){
   parent.appendChild(newElement);
   //如果targetElementparent最后一个子元素,插入newElement
  }else{
   parent.insertBefore(newElement, targetElement.nextSibling);
    //如果不是,插入到targetElement下一个兄弟节点的前面     
  }
}

  

<html>
<head>
<title>insertAfter()调用演示</title> 
 <script type="text/javascript">
      function insertAfter(newElement, targetElement){...}
      window.onload=function(){   
             var new =document.createElement("span");   
             var b =document.createTextNode("new text!");   
             new.appendChild(b);   
             var target = document.getElementById("b");   
             insertAfter(new,target);     
}
 </script>
 </head>
 <body>
     <div id="b">bbb</div>  
</body>
</html>

 4) inArray()

   注释:判断值是否在array内

Array.prototype.inArray = function (value) {
	var i;
	for (i=0; i < this.length; i++) {
		if (this[i] === value) {
		        return true;
		}
	}
	return false;
};

 

 //调用演示
 var arr = ['aa', 'bb', 'cc'];
 alert(arr.inArray('桔子'));

 3),2),1) getCookie(), setCookie(), deleteCookie()

function getCookie( name ) {
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
		return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ';', len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}

function setCookie( name, value, expires, path, domain, secure ) {
	var today = new Date();
	today.setTime( today.getTime() );
	if ( expires ) {
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );
	document.cookie = name+'='+escape( value ) +
		( ( expires ) ? ';expires='+expires_date.toGMTString() : '' ) + //expires.toGMTString()
		( ( path ) ? ';path=' + path : '' ) +
		( ( domain ) ? ';domain=' + domain : '' ) +
		( ( secure ) ? ';secure' : '' );
}

function deleteCookie( name, path, domain ) {
	if ( getCookie( name ) ) document.cookie = name + '=' +
			( ( path ) ? ';path=' + path : '') +
			( ( domain ) ? ';domain=' + domain : '' ) +
			';expires=Thu, 01-Jan-1970 00:00:01 GMT';
}

 终极函数

   注释:是不是很熟悉呢,对,这就是我们再熟悉不过的美元函数,(*^__^*)

function $() {
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++) {
		var element = arguments[i];
		if (typeof element == 'string')
			element = document.getElementById(element);
		if (arguments.length == 1)
			return element;
		elements.push(element);
	}
	return elements;
}

 

  原文:  Top 10 custom JavaScript functions of all time

   附件是把这些函数合并在一个js中。

分享到:
评论

相关推荐

    最常用的10个javascript自定义函数(english)

    本文将详细介绍十个最常见的自定义JavaScript函数及其应用,这些函数经过无数开发者的检验,成为了每个前端工程师工具箱中的必备利器。 #### 1. addEvent() - **功能概述**:`addEvent()` 是一个用于绑定事件监听...

    javascript十个最常用的自定义函数.pdf

    ### JavaScript 十个最常用的自定义函数详解 #### 一、引言 JavaScript 是一种广泛应用于网页开发中的脚本语言,它提供了强大的功能来增强网页的交互性和动态性。随着前端技术的发展,开发者们常常会遇到需要频繁...

    自定义函数替换现有函数

    总之,自定义函数替换现有函数是软件开发中常用的技术,它可以提高代码质量、满足特定需求,并有助于项目的长期维护和发展。在实际应用中,应根据项目需求谨慎选择何时及如何进行替换,确保代码的稳定性和可维护性。

    javascript常用函数集合

    这个"javascript常用函数集合"涵盖了JavaScript编程中常见的函数和概念,是学习和提升JavaScript技能的重要资源。以下是对这些常见函数和基础知识的详细解释: 1. **变量声明**:在JavaScript中,我们可以使用`var`...

    PHP项目开发中最常用的自定义函数整理.doc

    这个函数主要用于简单的错误提示或信息输出,通过`echo`直接在页面上显示一个JavaScript弹窗。在实际项目中,通常会用更规范的方式如记录日志或使用模板引擎来处理这类情况。 2. `dhtmlspecialchars($string)`: ...

    PHP项目开发中最常用的自定义函数整理

    以下是根据提供的文件内容整理出的PHP自定义函数的知识点,每个函数都有其特定的用途。 1. alert提示函数 函数alert用于生成浏览器端的警告提示框,用于调试或向用户展示信息。这是一个非常实用的调试工具,类似于...

    一些有用的自定义配置单元udf函数、特殊数组、json、数学、字符串函数。___下载.zip

    JSON(JavaScript Object Notation)是数据交换的常用格式。Hive提供了一些内建的JSON函数,如get_json_object和json_tuple,用于解析和提取JSON字符串中的数据。然而,如果需要更复杂的JSON操作,如解析嵌套的JSON...

    javascript函数大全

    JavaScript函数大全是一个全面涵盖JavaScript语言中各种常用和不那么常见的函数资源库,旨在帮助开发者深入理解和熟练运用JavaScript的各类函数。这个压缩包包含一个名为"javascript函数大全.txt"的文本文件,很可能...

    javascript自定义in_array()函数实现方法

    9. 实际应用:在实际开发中,如果在项目中频繁需要进行数组元素的查找操作,可以将此函数封装为一个工具方法,或者使用现代JavaScript标准库中已经提供的方法(如Array.prototype.includes())来替代自定义实现,以...

    谈谈JavaScript自定义回调函数

    JavaScript中的回调函数是一种特殊类型的函数,它作为参数传递给另一个函数,并在包含它的函数执行完毕后执行。回调函数可以用来异步执行代码块,确保某些操作在另一个操作完成之后再执行。在JavaScript中,回调函数...

    javascript常用函数集.pdf

    这里我们将深入探讨标题和描述中提及的JavaScript常用函数。 1. 常规函数: - `alert()`:用于弹出警告对话框,通常包含一个“确定”按钮。 - `confirm()`:弹出确认对话框,有“确定”和“取消”两个按钮,返回...

    一些常用且实用的原生JavaScript函数.docx

    以下是一些关于原生JavaScript函数的关键知识点: 1. **getElementById 的简写**: `document.getElementById` 是用于获取ID匹配指定字符串的元素的原生方法。然而,通过创建一个简写函数可以简化代码,例如: ``...

    程序员常用的javascript特效

    本资源"程序员常用的javascript特效"旨在为开发者提供一系列实用的JavaScript特效实例,帮助他们快速实现所需功能。 在JavaScript特效中,有以下几个重要的知识点: 1. **DOM操作**:JavaScript通过Document ...

    javascript函数库

    JavaScript函数库是编程中常用的工具,它集合了一系列预先定义好的函数,方便开发者在编写代码时调用,以提高效率和代码的可维护性。在这个特定的JavaScript函数库中,我们看到许多用于数据验证和字符串处理的函数。...

Global site tag (gtag.js) - Google Analytics