一个按钮控制定时器的开始与暂停

内容介绍

  最近事情有点多,参加新星计划也接近尾声,顾不上更新文章是个问题,最后决定水一篇,但是又不能太水,所以就有了学习时候的这个案例(论如何光明正大的水)。

一、效果图

在这里插入图片描述

二、实现代码
<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>一个按钮控制定时器的开始与暂停</title>
    <script type="text/javascript">
        var intervalId;
        var i = 0;
        var count = 0;

        function startTime() {
            var hour = document.getElementById("hour");
            var minute = document.getElementById("minute");
            var second = document.getElementById("second");
            var ms = document.getElementById("ms");
            var buttonEle = document.getElementById("start");


            if (i % 2 == 0) {
                buttonEle.innerHTML = "暂停计时";
                intervalId = setInterval(function() {
                    count += 1;
                    var thehour = parseInt(count / 360000);
                    var theminute = parseInt(count / 6000 % 60);
                    var thesecond = parseInt(count / 100 % 60);
                    var thems = parseInt(count % 100);

                    if (thehour >= 10) {
                        hour.innerHTML = thehour + " ";
                    } else {
                        hour.innerHTML = "0" + thehour + " ";
                    }

                    if (theminute >= 10) {
                        minute.innerHTML = theminute + " ";
                    } else {
                        minute.innerHTML = "0" + theminute + " ";
                    }

                    if (thesecond >= 10) {
                        second.innerHTML = thesecond + " ";
                    } else {
                        second.innerHTML = "0" + thesecond + "  ";
                    }
                    if (thems >= 10) {
                        ms.innerHTML = thems + "&nbsp;";
                    } else {
                        ms.innerHTML = "0" + thems + "&nbsp;";
                    }
                }, 10)
            } else {
                buttonEle.innerHTML = "开始计时";
                clearInterval(intervalId);
            }
            i++;
        }
    </script>
    <style type="text/css">
        body,
        html {
            background: violet;
            /*position: relative;*/
        }
        
        #firstDiv {
            height: 50%;
            width: 50%;
            position: absolute;
            margin-left: 350px;
            margin-top: 150px;
            background: #ffcccc;
        }
        
        #twoDiv {
            height: 200px;
            width: 100%;
            position: absolute;
            margin-top: 130px;
            margin-left: 130px;
            ;
        }
        
        span {
            font-size: 30px;
        }
        
        button {
            font-size: 20px;
        }
    </style>
</head>

<body>
    <div id="firstDiv">
        <div id="twoDiv">
            <span><span id="hour">00&nbsp;</span></span>
            <span><span id="minute">00&nbsp;</span></span>
            <span><span id="second">00&nbsp;</span></span>
            <span><span id="ms">00&nbsp;</span>毫秒</span>

            <button id="start" onclick="startTime()">开始计时</button>
        </div>
    </div>
</body>

</html>
三、注

案例不分大小,有想法的小伙伴可以优化结构布局,重新封装函数,或者增加更多有趣的功能,如重置按钮、分段计时等。


标签:JavaScript,定时器


更多演示案例,查看 案例演示


欢迎评论留言!

  • 44
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 92
    评论
### 回答1: 好的,我来给你介绍一下如何在 Android 应用中实现定时器功能。 1. 在 Android 应用中,定时器功能可以通过使用 `Handler` 类来实现。 `Handler` 类是 Android 提供的一个用于在后台线程与主线程之间进行消息传递的工具。 2. 首先,你需要在应用中创建一个新的线程,在这个线程中使用 `Handler` 对象来发送延迟消息。 3. 然后,你需要在主线程中创建一个 `Handler` 对象,并重写它的 `handleMessage` 方法。在这个方法中,你可以指定你想要在定时器触发时执行的操作。 4. 最后,你可以使用 `postDelayed` 方法来设置定时器的触发时间。 例如,下面是一个简单的定时器功能的实现示例: ``` // 在新的线程中使用 Handler 发送延迟消息 new Thread(new Runnable() { @Override public void run() { // 创建 Handler 对象 final Handler handler = new Handler(); // 使用 postDelayed 方法设置定时器的触发时间(5000 毫秒后) handler.postDelayed(new Runnable() { @Override public void run() { // 在这里执行你想要在定时器触发时执行的操作 // 例如,发送一条消息 handler.sendEmptyMessage(0); } }, 5000); } }).start(); // 在主线 ### 回答2: 要写一个Android APP来实现定时器的功能,首先需要在Android Studio中创建一个新的项目。然后,在主活动的XML布局文件中,添加一个用于显示时间的TextView和三个按钮,分别用于开始计时、暂停计时和重置计时。 接下来,在主活动的Java文件中,我们需要创建一个计时器对象,并使用Handler来更新UI界面上的时间显示。在计时器对象的构造函数中,我们可以设置计时器的初始时间和计时的间隔。 当用户点击开始计时按钮时,我们会调用计时器对象的start方法,开始计时。在start方法中,我们会使用Handler的postDelayed方法来循环调用自身,实现定时器的功能。 当用户点击暂停计时按钮时,我们会调用计时器对象的pause方法,暂停计时。在pause方法中,我们会移除Handler中的所有待处理消息,以停止定时器的运行。 当用户点击重置计时按钮时,我们会调用计时器对象的reset方法,重置计时器。在reset方法中,我们会将计时器的时间设为初始值,并更新UI界面上的时间显示。 最后,我们需要在主活动中为按钮设置监听器,以响应用户的点击事件,并更新UI界面上的时间显示。 通过以上步骤,我们可以实现一个简单的定时器APP。当用户点击开始计时按钮时,每秒钟时间都会更新一次,并显示在界面上。当用户点击暂停计时按钮时,定时器会停止运行,用户可以继续计时或者重置计时。这个APP可以帮助用户精确地计时,并方便地进行固定时间的计算和管理。 ### 回答3: 要实现一个Android APP的定时器功能,可以按照以下步骤进行: 1. 创建一个新的Android项目,并设置好项目的基本配置。包括应用的名称、包名、最低版本要求等。 2. 在主界面布局文件中添加一个文本视图TextView,用于显示时间。 3. 在主界面的Activity类中定义一个计时器对象CountDownTimer。CountDownTimer是Android提供的一个用于实现定时器功能的类。 4. 在Activity的onCreate()方法中初始化计时器对象,并设置计时器的总时间和每次计时的间隔时间。 5. 在Activity中重写CountDownTimer的几个方法,包括onTick()方法和onFinish()方法。onTick()方法会在每次计时间隔过去时调用,可以在这个方法中更新UI界面的文本视图,显示剩余的时间。onFinish()方法会在计时结束后调用,可以在这个方法中进行一些相关的操作,比如播放音乐或者弹出提示对话框等。 6. 在Activity的onStart()方法中启动计时器对象,并在onStop()方法中停止计时器对象,保证计时器能够在后台正常运行,并且在Activity销毁时能够释放资源。 7. 在AndroidManifest.xml文件中声明相关权限,以便应用能够顺利运行。比如可以添加android.permission.WAKE_LOCK权限,以确保应用在屏幕关闭时也能正常运行。 8. 运行Android应用程序,点击启动按钮后,应用界面上将会显示定时器的倒计时。 以上就是实现一个Android APP定时器功能的大致步骤。可以根据具体的需求进行功能的扩展和美化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 92
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人间小美味695

您的鼓励是我创作的动力,感谢!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值