第一篇菜鸟日记

JAVASCRIPT学习简单的进度条源码



下面是一个简单的进度条的源码 html_id是你要显现在html上的id,lb_id是一个显示百分比文字的id,top为进度条最多是多宽,speed是速度.

function PRG(html_id,lb_id,top,speed) {
             var a = 1;
             var s = 0;
            var _id = window.setInterval(function () {
                a = a++;if (s == top) {
                    window.clearInterval(_id)
                }
                else {
                    document.getElementById(html_id).style.width = s + "0px";
                    document.getElementById(lb_id).innerText = s + "%";
                }
            }, speed);
         }
        window.onload = PRG(‘Time‘, ‘bf‘, ‘101‘,‘50‘);
        window.onload = PRG(‘Time2‘, ‘bf2‘, ‘101‘, ‘30‘);

html源码为

 <div id="Time" style="width: 1px; height: 5px; background-color: red;">
            <label id="bf">
            </label>
        </div>
        <br />
        <br />
        <br />
        <div id="Time2" style="width: 1px; height: 5px; background-color: red;">
            <label id="bf2">
            </label>
        </div>

上面的代码很简单我就不继续介绍了.

接下来是朋友让我用对象的方式写的一个版本,受了他很多的指导,终于知道对象到底是什么东西

 var jdt = function (obj) {  //首先这边是定义一个个jdt的对象集合,然后obj是一个要传的参数的集合.
            var html_id = obj.html_id;//id功能同上
            var lb_id = obj.lb_id;//这种参数集合的方式感觉更好, 因为可以在这里面判断参数是否正确的值,或者设默认的情况
            var top = obj.top;
            var speed = obj.speed;
            var a = 0;
            var id = 0;
            var state = "START";//state这个是检测当前进度条的状态,默认为START
            var PRG = function () {
                state = "RUNNING";
                id = window.setInterval(function () {
                    a++;
                    if (a == top) {
                        state = "STOP";
                        window.clearInterval(id);
                    }
                    else {
                        document.getElementById(html_id).style.width = a + "0px";
                        document.getElementById(lb_id).innerText = a + "%";
                    }
                }, speed);

            };
            var state1 = function () {
                return state;//这边是实时返回对象运行的状态
            }
            var pause = function () {//这边是停止某个进度条对象的方法
                state = "PAUSE";
                window.clearInterval(id);

            };
            return {
                a: a,
                id: id,
                PRG: PRG, pause: pause, state1: state1, state: state
            }
        }

//下面为调用的javascript的方法

window.onload = function () {


var jdt1 = new jdt({ html_id: ‘Time‘, lb_id: ‘bf‘, top: ‘101‘, speed: ‘30‘ });//这种对象的方法调用的好处是假如页面有多个进度条的功能他们各自都有自己一个对象的集合,不会导致冲突
var jdt2 = new jdt({ html_id: ‘Time2‘, lb_id: ‘bf2‘, top: ‘101‘, speed: ‘50‘ });


jdt1.PRG();//进度条运行的方法
jdt2.PRG();


document.getElementById("Pause").onclick = function () {
jdt1.pause();//这边是停止进度条的方法

}
document.getElementById("State").onclick = function () {
alert(jdt1.state1());//这边是alert出当前进度条的状态
alert(jdt1.state);


}

 

以上的注释都是我的理解...  如有错望大牛们指出我的错误,话说面向对象一直不太懂是什么..  在慢慢从实例中理解

恩..  以上就结束了,  菜鸟学习的开端篇, 以后每天做一题 每天发一篇博客记录自己学习的路!

时间: 2024-10-05 10:30:38

第一篇菜鸟日记的相关文章

20190724 Lockey的第一篇日记

今天-(万能开头) 今天感觉状态还可以,打了打球,有踢了踢球,虽然上午没咋听课,但是刷题速度和质量与前几天相比提高了好几个档次 可能是题比较简单的缘故(看着没几个人写题解),多A了几个题,我感觉心情舒畅,世界是那么美好,xuefeng是那么可爱,逼哥是那么盖世,脸哥是那么脸大,孟某某还是那么Sao- 总之,这一天真爽!希望明天考试会更爽吧! 第一篇日记 ,练练手,就到这儿吧. --------Lockey 2019.07.24 原文地址:https://www.cnblogs.com/heoit

Egret入门学习日记 --- 第一篇

第一篇(了解篇): 我人比较笨,得慢慢学,我就一点一点来好了. 首先,我个人喜欢游戏.网页开发相对游戏开发来说,网页开发实在太枯燥了,没劲.所以打算转游戏开发了. 游戏开发要选择游戏引擎,我去看了一些博客: 1.看的第一篇(发布于:2017年06月01日 22:20:16) https://blog.csdn.net/sujun10/article/details/72824248 说实话我被他的书写方式逗笑了,哈哈,真香.大佬最终还是选择了Egret. 2.看的第二篇(发布于:2018年04月

web 前端入坑第一篇:web前端到底是什么?有前途吗

web前端到底是什么? 某货: "前几年前端开发人员鱼目混杂,技术参差不齐,相对学习起来不规范,导致> 前端开发人员聚集,所以现在前端工种和工资还是没得到普遍重视,但近2年来,> > HTML5.JS 的流行,让前端异常火爆,以后还会更有前途吗?请问您怎么看?" 我 "我只能告诉你:前端不灭""除非你不要脸!""前些年因为国内都不要脸,然而现在都明白了用户体验至上,现在都要脸:""不但要脸 还要胸大

我的第一篇博客 —— 用 js 和 css 简单实现瀑布流布局

一个拖延症晚期患者的自述: 注册了博客快一个月了,终于要迎来我的第一篇博客了哈哈哈!!! 刚注册的时候,满脑子要频繁更新,扩充自己的知识库,一到真正落实,就不得不为懒惰屈服,还好有了学习计划,以后应该会每周一更(不更当我没说).当然了,肯定是希望被更多人看到,帮助到大家,如果没人看的话就当作是自己的积累与记录吧! 还有,我目前工作是前端工程师,还是一名刚入行不久的菜鸟哈哈哈!!!现在主要目标是先把前端知识巩固好,再逐步往全栈领域发展(毕竟装13是我一生的职责). 所以,请各位大佬们多多指教,如果

CSS px, em, 和rem; float以及clear(第一篇学习)

px:相对长度,相对于屏幕分辨率: em:相对长度单位,相对于当前对象内文本的字体尺寸.如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸.  任意浏览器的默认字体高都是16px.所有未经调整的浏览器都符合: 1em=16px.那么12px=0.75em,10px=0.625em.为了简化font-size的换算,需要在css中的body选择器中声明Font-size=62.5%,这就使em值变为 16px*62.5%=10px, 这样 12px=1.2em, 10px=1em

无限互联奖学金文章连载北京总部四十九期胡梦川 第一篇

无限互联奖学金文章连载北京总部四十九期胡梦川 第一篇: 今天是来到无限互联的第四天,严格来说已经第六天了,刚来就是开班典礼,给人一种很好的氛围.老师讲了很多关于以后学习的技巧和规定,我的第一感觉是,比备战高考还要严格,不过这才能体现一个组织的负责任.正式开讲才感觉到这个班级的大神无处不在,不努力根本赶不上,就是这个学习氛围和高强度的练习很重要.多用心你才能感觉到有些事其实很简单.关于学习时间大家基本都是一天不动的在敲代码,等于给自己一个机会吧.时间飞逝,抓住机会才重要.刚来第一周,感受最深就是好

第一篇

奖学金文章连载北京总部四十九期胡梦川 第一篇: 今天是来到无限互联的第四天,严格来说已经第六天了,刚来就是开班典礼,给人一种很好的氛围.老师讲了很多关于以后学习的技巧和规定,我的第一感觉是,比备战高考还要严格,不过这才能体现一个组织的负责任.正式开讲才感觉到这个班级的大神无处不在,不努力根本赶不上,就是这个学习氛围和高强度的练习很重要.多用心你才能感觉到有些事其实很简单.关于学习时间大家基本都是一天不动的在敲代码,等于给自己一个机会吧.时间飞逝,抓住机会才重要.刚来第一周,感受最深就是好多事做了

SaltStack 入门到精通 - 第一篇: 安装SaltStack

实际环境的设定: 系统环境: centos6 或centos5 实验机器: 192.168.1.100 软件需求: salt 套件,及其需求环境 实验目的: 成功安装salt,并实现salt主从间通讯 特殊设置: 其它目的: 安装SaltStack(下面简称为salt) epel安装:salt安装需要epel源支持,所以在安装salt前需要先安装epel包 # centos5 下载下面rpm  wget -O    epel.rpm https://dl.fedoraproject.org/pu

jstl标签 core fmt fn函数使用参考(为第一篇的补充,更为实用)

JSTL标签 参考手册 前言 ========================================================================= JSTL标签库,是日常开发经常使用的,也是众多标签中性能最好的.把常用的内容,放在这里备份一份,随用随查.尽量做到不用查,就可以随手就可以写出来.这算是Java程序员的基本功吧,一定要扎实. JSTL全名为JavaServer Pages Standard Tag Library,目前最新的版本为1.1版.JSTL是由J