一、addLoadEvent 函数把那些在页面加载完毕时执行的函数创建为一个队列,不管打算在页面加载完毕时执行多少个函数,它都可以应付自如。
1.把现有的window.onload事件处理函数的值存入变量oldonload.
2.如果在这个处理函数上还没有绑定任何函数,就像平时那样把新函数添加给它.
3.如果在这个处理函数上已经绑定了一些函数,就把新函数追加到现有指令的末尾.
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function () {
oldonload();
func();
}
}
}
二、insertAfter 函数将新元素插入到目标元素之后
function insertAfter(newElement, targetELement) {
let parentNode = targetELement.parentNode;
if (parentNode.lastChild == targetELement) {
parentNode.appendChild(newElement);
} else {
parentNode.insertBefore(newElement, targetELement.nextSibling)
}
}
三、getNextElement 函数获取下一个【元素节点】
function getNextElement(node) {
if (node.nodeType == 1) {
return node;
}
if (node.nextSibling) {
return getNextElement(node.nextSibling);
}
return null;
}