//函数名称:addLoadEvent(func)
//功能:在页面加载完毕时可执行多个函数,需要执行几个函数就写几条addLoadEvent()
function addLoadEvent(func) {
var oldonload = window.onload; //把现有的window.onload事件处理函数的值存入变量oldload
if(typeof window.onload != 'function') { //如果在这个处理函数上还没有绑定任何函数,就像平时那样把新函数添加给它;
window.onload = func;
} else { //如果在这个处理函数上已经绑定了一些函数,就把新函数追加到现有的指令末尾
window.onload = function() {
oldonload();
func();
}
}
}
//函数名称:insterAffter(newElement, targetElement)
//功能:把一个节点插入到另一个节点之后
function insterAffter(newElement, targetElement) { //被插入的新函数和目标函数作为参数被传递到这个函数
var parent = targetElement.parentNode; //目标元素的父元素属性值保存到parent
if(parent.lastChild == targetElement) { //检查目标元素是不是parent的最后一个子元素,即是否存在“等于”关系
parent.appendChild(newElement); //如果是,就用appendChild方法把新元素追加到parent元素上,这样新元素就在目标元素之后
} else {
parent.insertBefore(newElement, targetElement.nextSibling); //如果不是,就把新元素插入到目标元素和目标元素的下一个兄弟元素之间
}
}
//函数名称:addClass(element, value)
//功能:给一个元素追加新的class
function addClass(element, value) {
if(!element.className) { //检查className的值是否为null
element.className = value; //如果是,把新的class设置值直接赋值给className属性
} else { //如果不是,把一个空格和新的class设置值追加到className属性上去
newClassName = element.className;
newClassName += " ";
newClassName += value;
element.className = newClassName;
}
}
//函数名称:getNextElement(node)
//功能:获取下一个元素(Element)节点,注意不是下一个节点(下一个节点包括了文本节点)
function getNextElement(node) {
if(node.nodeType == 1) {
return node;
}
if(node.nextSibling) {
return getNextElement(node.nextSibling);
}
return null;
}
javascript实用脚本
最新推荐文章于 2020-09-30 20:23:57 发布