原生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 相关文章推荐
DOM相关内容速查手册
Feb 07 Javascript
深入认识javascript中的eval函数
Nov 02 Javascript
Javascript基础知识(一)核心基础语法与事件模型
Sep 29 Javascript
js计算任意值之间随机数的方法
Jan 16 Javascript
js实现文本框中输入文字页面中div层同步获取文本框内容的方法
Mar 03 Javascript
javascript中类的定义方式详解(四种方式)
Dec 22 Javascript
JS中innerHTML和pasteHTML的区别实例分析
Jun 22 Javascript
JS无缝滚动效果实现方法分析
Dec 21 Javascript
全新打包工具parcel零配置vue开发脚手架
Jan 11 Javascript
vue初始化动画加载的实例
Sep 01 Javascript
移动端 Vue+Vant 的Uploader 实现上传、压缩、旋转图片功能
Jun 10 Javascript
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
Jun 06 jQuery
使用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』PHP截断函数mb_substr()使用介绍
2013/04/22 PHP
php读取mssql的ntext字段返回值为空的解决方法
2014/12/30 PHP
php从csv文件读取数据并输出到网页的方法
2015/03/14 PHP
jQuery+PHP发布的内容进行无刷新分页(Fckeditor)
2015/10/22 PHP
php 中phar包的使用教程详解
2018/10/26 PHP
Yii框架常见缓存应用实例小结
2019/09/09 PHP
tp5递归 无限级分类详解
2019/10/18 PHP
JavaScript使用IEEE 标准进行二进制浮点运算产生莫名错误的解决方法
2011/05/28 Javascript
javascript的回调函数应用示例
2014/02/20 Javascript
nodejs文件操作模块FS(File System)常用函数简明总结
2014/06/05 NodeJs
使用ngView配合AngularJS应用实现动画效果的方法
2015/06/19 Javascript
前端jquery部分很精彩
2016/05/03 Javascript
动态生成的DOM不会触发onclick事件的原因及解决方法
2016/08/06 Javascript
AngularJS表达式讲解及示例代码
2016/08/16 Javascript
深入探究AngularJs之$scope对象(作用域)
2017/07/20 Javascript
Node.js如何实现注册邮箱激活功能 (常见)
2017/07/23 Javascript
ES6中Array.find()和findIndex()函数的用法详解
2017/09/16 Javascript
使用Angular CLI生成路由的方法
2018/03/24 Javascript
Vue3.0中的monorepo管理模式的实现
2019/10/14 Javascript
精读《Vue3.0 Function API》
2020/05/20 Javascript
[01:38]完美世界高校联赛决赛花絮
2018/12/02 DOTA
Python中is与==判断的区别
2017/03/28 Python
Python排序搜索基本算法之选择排序实例分析
2017/12/09 Python
Python 函数基础知识汇总
2018/03/09 Python
基于django channel实现websocket的聊天室的方法示例
2019/04/11 Python
Django框架orM与自定义SQL语句混合事务控制操作
2019/06/27 Python
python多线程案例之多任务copy文件完整实例
2019/10/29 Python
NumPy统计函数的实现方法
2020/01/21 Python
Selenium元素定位的30种方式(史上最全)
2020/05/11 Python
CSS3实现背景透明文字不透明的示例代码
2018/06/25 HTML / CSS
新加坡时尚网上购物:Zalora新加坡
2016/07/26 全球购物
小班秋游活动方案
2014/02/22 职场文书
教研处工作方案
2014/05/26 职场文书
小学生常见病防治方案
2014/06/06 职场文书
2015年服务员工作总结
2015/04/08 职场文书
2015年教务主任工作总结
2015/07/22 职场文书