moveElement:对元素进行移动
function moveElement(elementID,final_x,final_y,interval){ //elementID是要移动元素的ID,final_x和final_y要移动到的位置,interval是移动时间间隔
//安全检查
if(!document.getElementById) return false ;
if(!document.getElementById(elementID)) return false ;
elem = document.getElementById(elementID) ;
if(elem.movement) clearTimeout(elem.movement) ; //防止快速切换对象元素
if(!elem.style.left) elem.style.left = "0px" ;
if(!elem.style.top) elem.style.top = "0px" ; //防止元素没有left、top属性
var xpos = parseInt(elem.style.left) ;
var ypos = parseInt(elem.style.top) ; //取前面的整数
var dist = 0 ;
if(xpos == final_x && ypos == final_y){
return true ;
}
if(xpos < final_x){
dist = Math.ceil((final_x - xpos)/10) ;
xpos = xpos + dist ;
}
if(xpos > final_x){
dist = Math.ceil((xpos - final_x)/10) ;
xpos = xpos - dist ;
}
if(ypos < final_y){
dist = Math.ceil((final_y - ypos)/10) ;
ypos = ypos + dist ;
}
if(ypos > final_y){
dist = Math.ceil((ypos - final_y)/10) ;
ypos = ypos - dist ;
} //渐进移动
elem.style.left = xpos + "px" ;
elem.style.top = ypos + "px" ;
var repeat = "moveElement('"+elementID+"',"+final_x+","+final_y+","+interval+")" ;
elem.movement = setTimeout(repeat,interval) ;
}
function insertAfter(newElement,targetElement){ //targetElement为要把newElement插入哪个元素的后边
var parent = targetElement.parentNode ;
if(parent.lastChild == targetElement){
parent.appendChild(newElement) ;
}else{
parent.insertBefore(newElement,targetElement.nextSibling) ;
}
}
JavaScript有onload事件函数,但是只能加载一个函数,若想加载多个函数,addLoadEvent:
function addLoadEvent(func){
var oldonload = window.onload ;
if(typeof window.onload != "function"){
window.onload = func ;
}else {
window.onload = function(){
oldonload() ;
func() ;
}
}
}
getNextElement返回当前节点下一个元素节点(若想要当前节点的下一个节点,则直接node.nextSibling就可以了)
function getNextElement(node){
if(node.nextSibling.nodetype == 1) return node ;
if(node.nextSibling){
return getNextElement(node.nextSibling) ;
}
return null ;
}