使用HTML5画布和jQuery使小球颜色不断变化

现在要实现使用HTML5画布和jQuery实现小球颜色不断变化,依次为红色、绿色、蓝色,如下图

在这里插入图片描述

以下是实现的代码

<!DOCTYPE html>
<html>
<head>
    <title>HTML5画布和jQuery使小球颜色不断变化</title>
    <!-- 引入 Bootstrap -->
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
    <!-- jQuery (Bootstrap 的 JavaScript 插件需要引入 jQuery) -->
    <script src="https://code.jquery.com/jquery.js"></script>
    <!-- 包括所有已编译的插件 -->
    <script src="js/bootstrap.min.js"></script>
    <meta charset="utf-8">

    <style type="text/css">
        .list-group-item>a:hover{
            cursor:pointer;
        }
        .nav>li>a:hover{
            cursor: pointer;
        }
    </style>
</head>
<body>
    <div style="background-color: black;">
        <nav class="navbar-default container navbar-inverse" style="background-color: black;">
            <ul class="nav navbar-nav">
                <li><a id="quick">快速</a></li>
                <li><a id="middle">中速</a></li>
                <li><a id="slow">慢速</a></li>
            </ul>
        </nav>
    </div>
    <div class="container">
        <div class="row">
            <div class="col-md-12" style="margin: 20px;background-color: yellow;height: 500px;">
                <canvas id="mycanvas"></canvas>
            </div>
        </div>
    </div>
    <script type="text/javascript">
        var mycanvas,context;
        var timer = null;
        var index = 1;

        function init(){
            mycanvas = document.getElementById("mycanvas");
            context = mycanvas.getContext("2d");
            context.fillStyle = "red";
            drawCir();

            $("#quick").click(function () {
                   clearInterval(timer);
                timer = setInterval(change,100);
             });
            $("#middle").click(function () {
                   clearInterval(timer);
                timer = setInterval(change,500);
             });
            $("#slow").click(function () {
                   clearInterval(timer);
                timer = setInterval(change,1000);
             });
        }
        function clean(){
            context.clearRect(0,0,1000,450);
        }
        //画圆
        function drawCir(){
            clean();
            context.beginPath();
            context.arc(100,100,50,0,2*Math.PI);
            context.stroke();
            context.fill();
        }
        //改变颜色
        function change(){
            if (index == 1) {
                context.fillStyle = "red";
            }else if(index == 2){
                context.fillStyle = "green";
            }else{
                context.fillStyle = "blue";
            }
            context.fill();

            index++;
            if (index == 4) {
                index = 1;
            }
        }
    
        //文档就绪
        $(document).ready(function(){
            init();
            timer = setInterval(change,500);
        });
    </script>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

极客开发者

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值