原生JS实现LOADING效果

时间:2015-03-16    点击:71   

纯文本loading效果,可以自己定义颜色和速度

复制代码 代码如下:

/** Loading animation
 *  Created by 黑と白の印記 on 15/03/11.
 */
 
function loading(element,lightColor,darkColor,speed,callback){
    if(!element&&(!element.innerText||!element.textContent))return
    element = typeof element==="string"?document.getElementById(element):element
    lightColor = lightColor||"#fff",darkColor = darkColor||"#000",speed = speed||300
 
    var arr_spanEles = new Array()
    
    !function(arr_elementText){
        element.innerText=element.textContent=""
        for(var i=0;i<arr_elementText.length;i++){
            var span = document.createElement("span")
            element.innerText?span.innerText = arr_elementText[i]:span.textContent = arr_elementText[i]
            element.appendChild(span)
            arr_spanEles.push(span)
        }
    }((element.innerText||element.textContent).split(""))
 
    var index = -1,length = arr_spanEles.length
    var loadingTimer = setInterval(function(){
        arr_spanEles[Math.max(index,0)].style.color = darkColor
        if(index == length-1){
            index = -1
            callback&&callback()
        }
        ++index
        arr_spanEles[index].style.color = lightColor
    },speed)
}

以上就是本文所述的全部内容了,希望对大家学习javascript能有所帮助。

jQuery源码分析之Callbacks详解
JavaScript获取伪元素(Pseudo-Element)属性的方法技巧
jQuery支持动态参数将函数绑定到事件上的方法
jQuery实现预加载图片的方法
jQuery对指定元素中指定字符串进行替换的方法
> 返回     
地址:上海市普陀区胶州路941号长久商务中心 电话: QQ:
© Copyright 2012 上海网络 Product All Rights Reserved