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);
//如果targetElement是parent最后一个子元素,插入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中。
分享到:
相关推荐
本文将详细介绍十个最常见的自定义JavaScript函数及其应用,这些函数经过无数开发者的检验,成为了每个前端工程师工具箱中的必备利器。 #### 1. addEvent() - **功能概述**:`addEvent()` 是一个用于绑定事件监听...
### JavaScript 十个最常用的自定义函数详解 #### 一、引言 JavaScript 是一种广泛应用于网页开发中的脚本语言,它提供了强大的功能来增强网页的交互性和动态性。随着前端技术的发展,开发者们常常会遇到需要频繁...
总之,自定义函数替换现有函数是软件开发中常用的技术,它可以提高代码质量、满足特定需求,并有助于项目的长期维护和发展。在实际应用中,应根据项目需求谨慎选择何时及如何进行替换,确保代码的稳定性和可维护性。
这个"javascript常用函数集合"涵盖了JavaScript编程中常见的函数和概念,是学习和提升JavaScript技能的重要资源。以下是对这些常见函数和基础知识的详细解释: 1. **变量声明**:在JavaScript中,我们可以使用`var`...
这个函数主要用于简单的错误提示或信息输出,通过`echo`直接在页面上显示一个JavaScript弹窗。在实际项目中,通常会用更规范的方式如记录日志或使用模板引擎来处理这类情况。 2. `dhtmlspecialchars($string)`: ...
以下是根据提供的文件内容整理出的PHP自定义函数的知识点,每个函数都有其特定的用途。 1. alert提示函数 函数alert用于生成浏览器端的警告提示框,用于调试或向用户展示信息。这是一个非常实用的调试工具,类似于...
JSON(JavaScript Object Notation)是数据交换的常用格式。Hive提供了一些内建的JSON函数,如get_json_object和json_tuple,用于解析和提取JSON字符串中的数据。然而,如果需要更复杂的JSON操作,如解析嵌套的JSON...
JavaScript函数大全是一个全面涵盖JavaScript语言中各种常用和不那么常见的函数资源库,旨在帮助开发者深入理解和熟练运用JavaScript的各类函数。这个压缩包包含一个名为"javascript函数大全.txt"的文本文件,很可能...
9. 实际应用:在实际开发中,如果在项目中频繁需要进行数组元素的查找操作,可以将此函数封装为一个工具方法,或者使用现代JavaScript标准库中已经提供的方法(如Array.prototype.includes())来替代自定义实现,以...
JavaScript中的回调函数是一种特殊类型的函数,它作为参数传递给另一个函数,并在包含它的函数执行完毕后执行。回调函数可以用来异步执行代码块,确保某些操作在另一个操作完成之后再执行。在JavaScript中,回调函数...
这里我们将深入探讨标题和描述中提及的JavaScript常用函数。 1. 常规函数: - `alert()`:用于弹出警告对话框,通常包含一个“确定”按钮。 - `confirm()`:弹出确认对话框,有“确定”和“取消”两个按钮,返回...
以下是一些关于原生JavaScript函数的关键知识点: 1. **getElementById 的简写**: `document.getElementById` 是用于获取ID匹配指定字符串的元素的原生方法。然而,通过创建一个简写函数可以简化代码,例如: ``...
本资源"程序员常用的javascript特效"旨在为开发者提供一系列实用的JavaScript特效实例,帮助他们快速实现所需功能。 在JavaScript特效中,有以下几个重要的知识点: 1. **DOM操作**:JavaScript通过Document ...
JavaScript函数库是编程中常用的工具,它集合了一系列预先定义好的函数,方便开发者在编写代码时调用,以提高效率和代码的可维护性。在这个特定的JavaScript函数库中,我们看到许多用于数据验证和字符串处理的函数。...