精华内容
下载资源
问答
  • html5 简单实例代码

    2017-04-27 09:17:27
    html5 简单实例代码
  • html5+go+websocket简单实例代码   这次的就直接发放代码截图吧,应该是用go语言做后台一个简易的聊天,这里没用到什么特别的知识,最朴实的来实现效果,主要目的是分享下h5怎么用websocket,go搭建websocket...

    html5+go+websocket简单实例代码

     

    这次的就直接发放代码截图吧,应该是用go语言做后台一个简易的聊天,这里没用到什么特别的知识,最朴实的来实现效果,主要目的是分享下h5怎么用websocket,go搭建websocket服务的主要部分。

     

    go代码部分:

    // WebChat project main.go
    package main
    
    import (
        "fmt"
        "net/http"
        "time"
    
        "encoding/json"
    
        "strings"
    
        "golang.org/x/net/websocket"
    )
    
    //全局信息
    var datas Datas
    var users map[*websocket.Conn]string
    
    func main() {
        fmt.Println("启动时间")
        fmt.Println(time.Now())
    
        //初始化
        datas = Datas{}
        users = make(map[*websocket.Conn]string)
    
        //绑定效果页面
        http.HandleFunc("/", h_index)
        //绑定socket方法
        http.Handle("/webSocket", websocket.Handler(h_webSocket))
        //开始监听
        http.ListenAndServe(":8", nil)
    }
    
    func h_index(w http.ResponseWriter, r *http.Request) {
    
        http.ServeFile(w, r, "index.html")
    }
    
    func h_webSocket(ws *websocket.Conn) {
    
        var userMsg UserMsg
        var data string
        for {
    
            //判断是否重复连接
            if _, ok := users[ws]; !ok {
                users[ws] = "匿名"
            }
            userMsgsLen := len(datas.UserMsgs)
            fmt.Println("UserMsgs", userMsgsLen, "users长度:", len(users))
    
            //有消息时,全部分发送数据
            if userMsgsLen > 0 {
                b, errMarshl := json.Marshal(datas)
                if errMarshl != nil {
                    fmt.Println("全局消息内容异常...")
                    break
                }
                for key, _ := range users {
                    errMarshl = websocket.Message.Send(key, string(b))
                    if errMarshl != nil {
                        //移除出错的链接
                        delete(users, key)
                        fmt.Println("发送出错...")
                        break
                    }
                }
                datas.UserMsgs = make([]UserMsg, 0)
            }
    
            fmt.Println("开始解析数据...")
            err := websocket.Message.Receive(ws, &data)
            fmt.Println("data:", data)
            if err != nil {
                //移除出错的链接
                delete(users, ws)
                fmt.Println("接收出错...")
                break
            }
    
            data = strings.Replace(data, "\n", "", 0)
            err = json.Unmarshal([]byte(data), &userMsg)
            if err != nil {
                fmt.Println("解析数据异常...")
                break
            }
            fmt.Println("请求数据类型:", userMsg.DataType)
    
            switch userMsg.DataType {
            case "send":
                //赋值对应的昵称到ws
                if _, ok := users[ws]; ok {
                    users[ws] = userMsg.UserName
    
                    //清除连接人昵称信息
                    datas.UserDatas = make([]UserData, 0)
                    //重新加载当前在线连接人
                    for _, item := range users {
    
                        userData := UserData{UserName: item}
                        datas.UserDatas = append(datas.UserDatas, userData)
                    }
                }
                datas.UserMsgs = append(datas.UserMsgs, userMsg)
            }
        }
    
    }
    
    type UserMsg struct {
        UserName string
        Msg      string
        DataType string
    }
    
    type UserData struct {
        UserName string
    }
    
    type Datas struct {
        UserMsgs  []UserMsg
        UserDatas []UserData
    }

     

      html代码部分:

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <title></title>
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
        <!-- 新 Bootstrap 核心 CSS 文件 -->
        <link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css">
        <script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
        <!--        <script src="//cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>-->
    </head>
    <body>
        <div class="container">
            <div>内容:</div>
            <div class="list-group" id="divShow">
                <!--<div class="list-group-item list-group-item-success">1111</div>
                <div class="list-group-item list-group-item-info">1111</div>
                <div class="list-group-item list-group-item-warning">1111</div>
                <div class="list-group-item list-group-item-danger">1111</div>-->
            </div>
            <div class="list-group" id="divUsers">
                在线:<br />
                <!--<div class="btn btn-default">111</div>-->
    
            </div>
            <div>
                昵称:<input class="form-control" id="txtUserName" value="红领巾" type="text" maxlength="20" style="width: 30%; margin-bottom: 15px" />
                聊聊:<textarea class="form-control" id="txtContent" autofocus rows="6" placeholder="想聊的内容" maxlength="200" required style="width: 60%; "></textarea>
                <button class="btn btn-default" id="btnSend" style="margin-top:15px">发 送</button>
            </div>
        </div>
    </body>
    </html>
    
    <script>
    
        var tool = function () {
    
            var paperLoopNum = 0;
            var paperTempleArr = [
                '<div class="list-group-item list-group-item-success">{0}</div>',
                '<div class="list-group-item list-group-item-info">{0}</div>',
                '<div class="list-group-item list-group-item-warning">{0}</div>',
                '<div class="list-group-item list-group-item-danger">{0}</div>'
            ];
    
            return {
    
                paperDiv: function (val) {
    
                    var hl = paperTempleArr[paperLoopNum];
                    paperLoopNum++;
                    if (paperLoopNum >= paperTempleArr.length) { paperLoopNum = 0; }
    
                    return this.formart(hl, [val])
                },
                formart: function (str, arrVal) {
    
                    for (var i = 0; i < arrVal.length; i++) {
                        str = str.replace("{" + i + "}", arrVal[i]);
                    }
                    return str;
                }
            }
        }
    
        function showMsg(id, hl, isAppend) {
    
            if (!isAppend) { $("#" + id).html(hl); } else {
                $("#" + id).append(hl);
            }
        }
    
        $(function () {
    
            //初始化工具方法
            var tl = new tool();
    
            var wsUrl = "ws://172.16.9.6:8/webSocket";
            ws = new WebSocket(wsUrl);
    
            try {
    
                ws.onopen = function () {
    
                    //showMsg("divShow", tl.paperDiv("连接服务器-成功"));
                }
    
                ws.onclose = function () {
                    if (ws) {
                        ws.close();
                        ws = null;
                    }
                    showMsg("divShow", tl.paperDiv("连接服务器-关闭"), true);
                }
    
                ws.onmessage = function (result) {
    
                    //console.log(result.data);
                    var data = JSON.parse(result.data);
                    $(data.UserMsgs).each(function (i, item) {
                        showMsg("divShow", tl.paperDiv("" + item.UserName + "】:" + item.Msg), true);
                    });
    
                    var userDataShow = [];
                    $(data.UserDatas).each(function (i, item) {
    
                        userDataShow.push('<div class="btn btn-default">' + item.UserName + '</div>');
    
                    });
                    showMsg("divUsers", userDataShow.join(''), false);
                }
    
                ws.onerror = function () {
                    if (ws) {
                        ws.close();
                        ws = null;
                    }
                    showMsg("divShow", tl.paperDiv("连接服务器-关闭"), true);
                }
    
            } catch (e) {
    
                alert(e.message);
            }
            $("#btnSend").on("click", function () {
    
                var tContentObj = $("#txtContent");
                var tContent = $.trim( tContentObj.val()).replace("/[\n]/g", "");
                var tUserName = $.trim( $("#txtUserName").val()); tUserName = tUserName.length <= 0 ? "匿名" : tUserName;
                if (tContent.length <= 0 || $.trim(tContent).length <= 0) { alert("请输入发送内容!"); return; }
                if (ws == null) { alert("连接失败,请F5刷新页面!"); return; }
    
                var request = tl.formart('{"UserName": "{0}", "DataType": "{1}", "Msg": "{2}" }',
                                         [tUserName, "send", tContent]);
                ws.send(request);
                tContentObj.val("");
                tContentObj.val($.trim(tContentObj.val()).replace("/[\n]/g", ""));
            });
            $("#txtContent").on("keydown", function (event) {
    
                if (event.keyCode == 13) {
    
                    $("#btnSend").trigger("click");
                }
            });
        })
    
    </script>

     

     效果图:

      

       主要的备注都写在代码里面了,希望更多的朋友相互分享交流。

     
    展开全文
  • 首先在html页面中放置一个canvas元素,其中canvas元素应该具备三个属性ID、width、height。 复制代码代码如下: ”demo” width=”600″ height=”600″></canvas> 取得canvas对象并取得上下文var cxt=document....
  • HTML简单实例

    2019-08-18 13:17:20
    刚学完Html5,为了加深对Html5的理解,便突发奇想的使用纯Html写了一个纯静态的页面,代码通俗易懂,适合小白进行研究学习。 代码效果: 代码index.html 在这里插入代码片 ```<!DOCTYPE html> <html>...

    刚学完Html5,为了加深对Html5的理解,便突发奇想的使用纯Html写了一个纯静态的页面,代码通俗易懂,适合小白进行研究学习。

    代码效果:
    在这里插入图片描述代码index.html

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>MUSIC AND MOVIE AND STUDY 导航</title>
    
    <style>
    body {
      margin: 0;
    }
    
    /* 头部样式 */
    .header {
      background-color: #00BFFF;
      padding: 20px;
      text-align: center;
    }
    
    
    
    /* 导航条 */
    .topnav {
      overflow: hidden;
      background-color: #333;
    }
     
    /* 导航链接 */
    .topnav a {
      float: left;
      display: block;
      color: #f2f2f2;
      text-align: center;
      padding: 14px 16px;
      text-decoration: none;
    }
     
    /* 链接 - 修改颜色 */
    .topnav a:hover {
      background-color: #ddd;
      color: black;
    }
    
    </style>
    </head>
    <body>
    
    <div class="header">
      <h1><font  color=" #696969"><i>MUSIC AND MOVIE AND STUDY 导航</i></font></h1>
    </div>
    
    <div class="topnav">
      <a href="index.jsp">首页</a>
      <a href="guanyuwomen.html">关于我们</a>
      
    </div>
    
    
      <!-- <div id="menu" style="background-color:#1E90FF;height:450px;width:150px;float:left;">
    <b>菜单</b><br>
    HTML<br>
    CSS<br>
    JavaScript</div> -->
    
    <div id="content" style="background-color:#EEEEEE;height:450px;width:1340px;float:left;">
    <br>
    <font color="#00CED1"  size="4px">在线音乐与影视</font>
    <br>
    <div  style="background-color:#EEEEEE;height:170px;width:1330px;float:left;border:3px solid #1E90FF;">
    <table  cellspacing="10">
    <tr>
    
    <td>
    <a href="//www.kugou.com">
    <img   src="image/kg.png"  width="120" height="120"></a>
    <br>
    <div style="text-align:center">酷狗音乐</div>
    <td/>
    
    <td>
    <a href="https://y.qq.com/">
    <img   src="image/QQ.jpg"  width="120" height="120"></a>
    <br>
    <div style="text-align:center">QQ音乐</div>
    <td/>
    
    <td>
    <a href="https://music.163.com/">
    <img   src="image/wyy.png"  width="120" height="120"></a>
    <br>
    <div style="text-align:center">网易云音乐</div>
    <td/>
    
    
    <td>
    <a href="http://www.kuwo.cn/">
    <img   src="image/kw.png"  width="120" height="120"></a>
    <br>
    <div style="text-align:center">酷我音乐</div>
    <td/>
    
    <td>
    <a href="https://www.xiami.com/">
    <img   src="image/xm.png"  width="120" height="120"></a>
    <br>
    <div style="text-align:center">虾米音乐</div>
    <td/>
    
    
    <td>
    <a href="https://m.iqiyi.com/">
    <img   src="image/aqy.jpg"  width="120" height="120"></a>
    <br>
    <div style="text-align:center">爱奇艺</div>
    <td/>
    
    <td>
    <a href="https://m.youku.com/">
    <img   src="image/yk.png"  width="120" height="120"></a>
    <br>
    <div style="text-align:center">优酷视频</div>
    <td/>
    
    
    <td>
    <a href="https://m.v.qq.com/">
    <img   src="image/tx.jpg"  width="120" height="120"></a>
    <br>
    <div style="text-align:center">腾讯视频</div>
    <td/>
    
    <td>
    <a href="https://m.mgtv.com/">
    <img   src="image/mg.jpg"  width="120" height="120"></a>
    <br>
    <div style="text-align:center">芒果视频</div>
    <td/>
    </tr>
     </table>
        </div>
        
        <br>
        <br>
         <br>
          <br>
          
         <hr>
        <font color="#00CED1"  size="3px"><em>网址导航</em></font>
        <div  style="background-color:#EEEEEE;height:190px;width:1330px;float:left;border:3px solid #1E90FF;">
        <table border="1px"  style="background-color:#EEEEEE;height:10px;width:1330px;" >
        <tr>
           <th >IT学习网站</th>
           <th >软件下载</th>
           <th >视频解析</th>
           <th >网站源码</th>
         </tr>
        
        <tr>
          <td><a  href="http://www.pzit.store"><div  style="text-align:center;">www.pzit.store</div></a></td>
        <td><a  href="https://www.pzit.store"><div  style="text-align:center;">www.pzit.store</div></a></td>
       <td><a  href="http://www.pzit.store/jx"><div  style="text-align:center;">www.pzit.store</div></a></td>
        <td><a  href="http://www.pzit.store"><div  style="text-align:center;">www.pzit.store</div></a></td>
        </tr> 
        
        <tr>
        <td>w</td>
        <td>w</td>
        <td><a href="m3u8.html"></a></td>
        <td>w</td>
        </tr>
        
        <tr>
        <td>w</td>
        <td>w</td>
        <td>w</td>
        <td>w</td>
        </tr>
        
        <tr>
        <td></td>
        <td>w</td>
        <td>w</td>
        <td>w</td>
        </tr>
        
        <tr>
        <td>w</td>
        <td>w</td>
        <td>w</td>
        <td>w</td>
        </tr>
        
        <tr>
        <td>w</td>
        <td>w</td>
        <td>w</td>
        <td>w</td>
        </tr>
        </table>
        </div>
        </div>
    
    
     
    
    <div  id="button"  style="background-color:#696969;height:471px;width:1350px;text-align:center;">版权所有:<a  href="http://www.pzit.store">www.pzit.store </a></div>
    
    </body>
    </html>
    
    展开全文
  • HTML5的pc上面实现了相当多的功能,工作中也用到了拖拉上传,特地记录下该功能 在拖动目标上触发事件 (源元素): ondragstart – 用户开始拖动元素时触发 ondrag – 元素正在拖动时触发 ondragend – 用户完成...
  • HTML5协议,实时,全双工通信,长连接 WebSocket比传统Http的好处 客户端与服务端只建立一个TCP连接,可以使用更少的连接 WebSocket的服务端可以将数据推送到客户端,如实时将证券信息反馈到客户端(这个很关键)...
  • 本章节分享一段代码实例,它利用html5实现了漫天飞雪的效果。 有需要的朋友可以做一下参考,代码其实也非常的简单,这里就不多介绍了。 代码如下: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 ...

    本章节分享一段代码实例,它利用html5实现了漫天飞雪的效果。

    有需要的朋友可以做一下参考,代码其实也非常的简单,这里就不多介绍了。

    代码如下:

    01
    02
    03
    04
    05
    06
    07
    08
    09
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    <!DOCTYPE html>
    <html>
    <head>
      <meta charset=" utf-8">
      <meta name="author" content="http://www.softwhy.com/" />
      <title>蚂蚁部落</title>
      <style type="text/css">
        * {
          margin: 0;
          padding: 0;
        }
     
        body {
          background: #6b92b9;
        }
     
        canvas {
          display: block;
        }
      </style>
    </head>
    <body>
      <div style="background:#6b92b9; width:100%;height:2000px;"></div>
      <canvas id="canvas" style="position:fixed;top:0px;left:0px;pointer-events:none;"></canvas>
      <script type="text/javascript">
    window.onload=function(){
      //canvas init
      var canvas=document.getElementById("canvas");
      var ctx=canvas.getContext("2d");
     
      //canvas dimensions
      var W=window.innerWidth;
      var H=window.innerHeight;
      canvas.width=W;
      canvas.height=H;
     
      //snowflake particles
      var mp = 3000; //max particles
      var particles = [];
      for(var i = 0; i < mp; i++){
        particles.push({
          x: Math.random()*W, //x-coordinate
          y: Math.random()*H, //y-coordinate
          r: Math.random()*3+1, //radius
          d: Math.random()*mp //density
        })
      }
     
      //Lets draw the flakes
      function draw(){
        ctx.clearRect(0, 0, W, H);
        ctx.fillStyle = "rgba(255, 255, 255, 0.8)";
        /* ctx.fillStyle = "#FF0000";*/
        ctx.beginPath();
        for(var i = 0; i < mp; i++){
          var p = particles[i];
          ctx.moveTo(p.x, p.y);
          ctx.arc(p.x, p.y, p.r, 0, Math.PI*2, true);
        }
        ctx.fill();
        update();
      }
     
      //Function to move the snowflakes
      var angle = 0;
      function update(){
        angle += 0.01;
        for(var i = 0; i < mp; i++){
          var p = particle[i];
          p.y += Math.cos(angle+p.d) + 1 + p.r/2;
          p.x += Math.sin(angle) * 2;
     
          if(p.x > W || p.x < 0 || p.y > H){
            if(i%3 > 0){
              particles[i] = {x: Math.random()*W, y: -10, r: p.r, d: p.d};
            }
            else{
              if(Math.sin(angle) > 0){
                particles[i] = {x: -5, y: Math.random()*H, r: p.r, d: p.d};
              }
              else{
                particles[i] = {x: W+5, y: Math.random()*H, r: p.r, d: p.d};
              }
            }
          }
        }
      }
      setInterval(draw, 15);
    }
      </script>
    </body>
    </html>




    原文发布时间为:2017-3-15

    本文作者:admin

    本文来自云栖社区合作伙伴“蚂蚁部落”,了解相关信息可以关注蚂蚁部落

    原文链接:利用html5实现的飞雪效果代码实例

    展开全文
  • 本章节介绍一下如何利用html5的canvas标签来绘制空心文本和实心文本。 所使用的方法也比较简单,如下: 1 2 context.fillText() context.strokeText() 下面就是完整的实现此功能的代码实例: ...
    本章节介绍一下如何利用html5的canvas标签来绘制空心文本和实心文本。

    所使用的方法也比较简单,如下:

    
    
    1
    2
    context.fillText()
    context.strokeText()

    下面就是完整的实现此功能的代码实例:

    
    
    01
    02
    03
    04
    05
    06
    07
    08
    09
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset=" utf-8">
    <meta name="author" content="http://www.softwhy.com/" />
    <title>蚂蚁部落</title>
    <style type="text/css">
    #tCanvas{
      border:black 1px solid;
    }
    </style>
    <script type="text/javascript">
    function pageLoaded(){
      //获取canvas对象的引用,注意tCanvas名字必须和下面body里面的id相同
      var canvas=document.getElementById('tCanvas');
      //获取该canvas的2D绘图环境
      var context = canvas.getContext('2d');
      //绘制代码将出现在这里
      //绘制文本
      context.fillText('antzone is good',100,40);
      //修改字体
      context.font='20px Arial';
      context.fillText('I love antzone',100,100);
      //绘制空心的文本
      context.font='36px 隶书';
      context.strokeText('蚂蚁部落欢迎您',100,200);
    }
    window.onload=function(){
      pageLoaded()
    }
    </script>
    </head>
    <body>
    <canvas width = "500" height = "300" id = "tCanvas">浏览器不支持</canvas>
    </body>
    </html>

    上面的代码实现了我们的要求,代码比较简单,就是使用固有的方法和属性,对字体相关属性就行设置,然后利用各自的方法进行绘制即可,上面带有比较完善的注释,如有任何问题可以跟帖留言。



    原文发布时间为:2017-2-19

    本文作者:admin

    本文来自云栖社区合作伙伴“蚂蚁部落”,了解相关信息可以关注蚂蚁部落

    原文链接:使用HTML5绘制实体和空心文本代码实例


    展开全文
  • Ajax 简单实例代码

    千次阅读 2017-03-02 19:32:15
    AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。 AJAX 不是新的编程语言,而是一种使用现有标准的新方法。 AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载...5 6 7 8 9
  • 示例简单,运行地址为:http://chendd.cn/demo/html/canvas/elsfk.html,得需要支持html5浏览器的环境。 实现的功能:方块旋转(W键)、自动下落、移动(ASD)、消行、快速下落(空格键)、下落阴影、游戏结束。 为...
  • 在阅读一本HTML5游戏开发相关书籍时发现一个很好的例子,通过这个例子可以对面向对象的开发进行更深入的理解。这个对象要实现的是:将一个CSS sprite中的图像绘制到canvas中。首先创建一个SpriteSheet对象,代码如下...
  • 是一个很酷的HTML5 Canvas动画,它将模拟的是我们现实生活中烟花绽放的动画特效,效果非常逼真,下面我们来简单分析一下实现这款HTML5烟花特效的过程及代码,主要由HTML代码、CSS代码以及Javascript代码组成,当然...
  • 不会去讨论简单的input type,本文想把重点放在HTML5表单验证机制上。主要介绍是HTML5是如何利用约束验证API来检查表单的输入数据的,当然,本文会涉及到很多其它的知识。
  • 今天给大家带来一个刮刮乐的小例子~基于HTML5 canvas的,有兴趣的可以改成Android版本的,或者其他的~ 效果图: 贴一张我中500w的照片,咋办啊,怎么花呢~ 好了,下面开始原理: 1、刮奖区域两个Canvas,一个是...
  • 客户端代码: 1 <html> 2 <head> 3 <script> 4 var socket; 5 if ("WebSocket" in window) { 6 var ws = new WebSocket("ws://127.0.0.1:8181"); 7 socket = ws; 8 ws.onopen =...
  • 进来看看,1分钟用HTML5实现的雪花效果——HTML5实例001有客官提到不知道如何入手学习``这个标签的事,我正好想到了自己曾经为了学习这东西写了一个生成像素风格头像的网页,简单明了,明天分享出来。还有客官说自己...
  • 最近做的一个项目中有一个获取周围商户的功能,需要用到地理定位系统,于是便想到了用 h5 的地理定位,查阅了下资料后,简单封装了下代码。const getPosition = (timeout = 10000,maximumAge = 60000,...
  • 最近研究魔方的玩法,就突然想用HMTL5写一个魔方的模型,由于魔方是一个3D的立方体,这次就试着用HTML5写了一个简单的3D模型。 下面是预览画面。 制作流程 首先你需要下载Html5开源库件lufylegend-1.4.0 魔方分为6...
  • java+html5的websocket简单实现BS聊天DEMO实例代码下载地址:http://www.zuidaima.com/share/1744070757551104.htm
  • 其实因为html5已经为我们提供了很好的文件的API,所以我们可以通过访问本地文件来实现很多的功能,比如:基于浏览器的音乐播放器,以及现在咱们弄的这个简单的图片浏览器!~ 看看其实很简单:输入代码: ————...
  • 在做旋转操作之前一定要理解一句话:旋转的是画布的坐标系而不是图形本身,好了,理解了这一句话后,接下来的就很简单了。 首先认识一下画圆的坐标: 复制代码代码如下: [removed] var cxt=document.getElementById...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 581
精华内容 232
关键字:

html5代码简单实例