原生JS实现LOADING效果


Posted in Javascript onMarch 16, 2015

纯文本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能有所帮助。

Javascript 相关文章推荐
如何用javascript判断录入的日期是否合法
Jan 08 Javascript
JS二维数组的定义说明
Mar 03 Javascript
javascript 数组操作详解
Jan 29 Javascript
JS实现的鼠标跟随代码(卡通手型点击效果)
Oct 26 Javascript
JavaScript实现旋转轮播图
Aug 18 Javascript
浅谈Vue.js应用的四种AJAX请求数据模式
Aug 30 Javascript
react+redux的升级版todoList的实现
Dec 18 Javascript
利用adb shell和node.js实现抖音自动抢红包功能(推荐)
Feb 22 Javascript
解决vue组件props传值对象获取不到的问题
Jun 06 Javascript
node.js使用http模块创建服务器和客户端完整示例
Feb 10 Javascript
Javascript新手入门之字符串拼接与变量的应用
Dec 03 Javascript
Vue接口封装的完整步骤记录
May 14 Vue.js
使用jQuery实现图片遮罩半透明坠落遮挡
Mar 16 #Javascript
jQuery+css3动画属性制作猎豹浏览器宽屏banner焦点图
Mar 16 #Javascript
JavaScript中使用Callback控制流程介绍
Mar 16 #Javascript
jquery图片切换插件
Mar 16 #Javascript
JavaScript中的方法重载实例
Mar 16 #Javascript
jquery中attr和prop的区别分析
Mar 16 #Javascript
JavaScript中扩展Array contains方法实例
Aug 23 #Javascript
You might like
php中拷贝构造函数、赋值运算符重载
2012/07/25 PHP
PHP闭包(Closure)使用详解
2013/05/02 PHP
执行、获取远程代码返回:file_get_contents 超时处理的问题详解
2013/06/25 PHP
php实现的漂亮分页方法
2014/04/17 PHP
PHP防止注入攻击实例分析
2014/11/03 PHP
PHP count()函数讲解
2019/02/03 PHP
List the Stored Procedures in a SQL Server database
2007/06/20 Javascript
深入Javascript函数、递归与闭包(执行环境、变量对象与作用域链)使用详解
2013/05/08 Javascript
JQuery筛选器全系列介绍
2013/08/27 Javascript
JavaScript开发人员的10个关键习惯小结
2014/12/05 Javascript
Node.js与MySQL交互操作及其注意事项
2016/10/05 Javascript
AngularJS学习笔记(三)数据双向绑定的简单实例
2016/11/08 Javascript
jquery 删除节点 添加节点 找兄弟节点的简单实现
2016/12/07 Javascript
jQuery实现新闻播报滚动及淡入淡出效果示例
2018/03/23 jQuery
原生JS实现列表子元素顺序反转的方法分析
2018/07/02 Javascript
Angular中sweetalert弹框的基本使用教程
2018/07/22 Javascript
JS/HTML5游戏常用算法之路径搜索算法 随机迷宫算法详解【普里姆算法】
2018/12/13 Javascript
jQuery实现提交表单时不提交隐藏div中input的方法
2019/10/08 jQuery
Vue+Element-U实现分页显示效果
2020/11/15 Javascript
解决js中的setInterval清空定时器不管用问题
2020/11/17 Javascript
[04:19]DOTA2亚洲邀请赛 现场花絮
2015/03/11 DOTA
[01:14:30]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第二场 8.20.mp4
2019/08/22 DOTA
Python的SQLAlchemy框架使用入门
2015/04/29 Python
Python闭包的两个注意事项(推荐)
2017/03/20 Python
Python装饰器用法实例总结
2018/05/26 Python
JavaScript中的模拟事件和自定义事件实例分析
2018/07/27 Python
Python读取stdin方法实例
2019/05/24 Python
python笔记_将循环内容在一行输出的方法
2019/08/08 Python
加拿大奢华时装品牌:Mackage
2018/01/10 全球购物
C语言开发工程师测试题
2016/12/20 面试题
护士求职信范文
2014/05/24 职场文书
动物科学专业求职信
2014/07/27 职场文书
2015年科研工作总结范文
2015/05/13 职场文书
《春酒》教学反思
2016/02/22 职场文书
《水浒传》读后感3篇(范文)
2019/09/19 职场文书
《家》读后感:万惜拯救,冷暖自知
2019/09/25 职场文书