Html5 canvas 绘制彩票走势图

因需要 要实现一个类似彩票走势图的功能,初次学Html5 ,很多地方不明白,前段时间也发帖请教过这个问题,也是没给个明确说话,在网上搜了很多,也没有实现的例子,今天仔细研究了下,发现其实也不是很难,现将代码贴出来,共同学习!

先来一张效果图:

实现的代码:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <script src="js/jquery-1.10.2.js"></script>
    <style>
        table { border: 0; margin: 0; border-collapse: collapse; border-spacing: 0; font-size: 11px; font-family: Arial; margin: 0 auto; }
        table td, table th { padding: 0; border: 1px solid #d8d8d8; height: 23px; width: 23px; text-align: center; color: #666; }
        table th { font-weight: bold; color: #000; }
    </style>
    <script type="text/javascript">
        $(function () {
            CreateTable();
            var ids = "";
            for (var i = 1; i < 31; i++) {
                ids+= "T" + i + "_" + Math.floor(1 + Math.random() * (31 - 1)) + ",";
            }
            ids = ids.substring(0, ids.length - 1);
            CreateLine(ids, 20, "#ff6600", "canvasdiv", "#d5d5d5");
        });
        function CreateTable() {
            var tbody = "";
            var head = "<tr>";
            for (var i = 1; i < 31; i++) {
                head += "<th>H" + i + "</th>";
                tbody += "<tr>";
                for (var j = 1; j < 31; j++) {
                    tbody += "<td id='T" + i + "_" + j + "'>" + j + "</td>";
                }
                tbody += "</tr>";
            }
            head += "</tr>";
            $("#zstable thead").html(head);
            $("#zstable tbody").html(tbody);
        }

        function CreateLine(ids, w, c, div, bg) {
            var list = ids.split(",");
            for (var j = list.length - 1; j > 0; j--) {
                var tid = $("#" + list[j]);
                var fid = $("#" + list[j - 1]);
                var f_width = fid.outerWidth();
                var f_height = fid.outerHeight();
                var f_offset = fid.offset();
                var f_top = f_offset.top;
                var f_left = f_offset.left;
                var t_offset = tid.offset();
                var t_top = t_offset.top;
                var t_left = t_offset.left;
                var cvs_left = Math.min(f_left, t_left);
                var cvs_top = Math.min(f_top, t_top);
                tid.css("background", bg).css("color", "red");
                fid.css("background", bg).css("color", "red");
                var cvs = document.createElement("canvas");
                cvs.width = Math.abs(f_left - t_left) < w ? w : Math.abs(f_left - t_left);
                cvs.height = Math.abs(f_top - t_top);
                cvs.style.top = cvs_top + parseInt(f_height / 2) + "px";
                cvs.style.left = cvs_left + parseInt(f_width / 2) + "px";
                cvs.style.position = "absolute";
                var cxt = cvs.getContext("2d");
                cxt.save();
                cxt.strokeStyle = c;
                cxt.lineWidth = 1;
                cxt.lineJoin = "round";
                cxt.beginPath();
                cxt.moveTo(f_left - cvs_left, f_top - cvs_top);
                cxt.lineTo(t_left - cvs_left, t_top - cvs_top);
                cxt.closePath();
                cxt.stroke();
                cxt.restore();
                $("#" + div).append(cvs);
            }
        }

    </script>
</head>
<body>
    <form id="form1" runat="server">
        <table id="zstable">
            <thead></thead>
            <tbody></tbody>
        </table>
        <div id="canvasdiv">
        </div>
    </form>
</body>
</html>

Html5 canvas 绘制彩票走势图

时间: 2024-10-27 08:52:09

Html5 canvas 绘制彩票走势图的相关文章

基于html5技术绘制上海地铁图 - 双车道路况信息

前面介绍了上海地铁图的绘制,最近有客户提出了新的需求:双车道,并显示路网状态信息.经过一番研究,在原地铁图基础上做了扩展实现 进入微软.亚马逊,谷歌等美国IT企业工作人才项目,起薪40万,百度搜索(MUMCS) 交通图介绍 路况状态在GIS系统中广泛应用,谷歌地图,百度地图都有实时路况的功能,太复杂并非好事,就像地铁图,按真实经纬度呈现反而不够直观,交通图.路网也是如此,去掉无关信息,将有限的数据(路,收费站,路况)展现出来,成为一种解决方案 百度地图中的路况信息 双车道的绘制 来看具体实现,原

html5 Canvas绘制图形入门详解

html5,这个应该就不需要多作介绍了,只要是开发人员应该都不会陌生.html5是「新兴」的网页技术标准,目前,除IE8及其以下版本的IE浏览器之外,几乎所有主流浏览器(FireFox.Chrome.Opera.Safari.IE9+)都已经开始支持html5了.除此之外,在移动浏览器市场上,众多的移动浏览器也纷纷展开关于「html5的支持能力以及性能表现」的军备竞赛.html作为革命性的网页技术标准,再加上众多浏览器厂商或组织的鼎力支持,可以想见,html5将会成为未来网页技术的领头羊. ht

使用html5 canvas绘制圆形或弧线

注意:本文属于<html5 Canvas绘制图形入门详解>系列文章中的一部分.如果你是html5初学者,仅仅阅读本文,可能无法较深入的理解canvas,甚至无法顺畅地通读本文.请点击上述链接以了解使用html5 canvas绘制图形的完整内容. 在html5中,CanvasRenderingContext2D对象也提供了专门用于绘制圆形或弧线的方法,请参考以下属性和方法介绍: arc(x, y, radius, startRad, endRad, anticlockwise) 在canvas画

使用 HTML5 Canvas 绘制出惊艳的水滴效果

HTML5 在不久前正式成为推荐标准,标志着全新的 Web 时代已经来临.在众多 HTML5 特性中,Canvas 元素用于在网页上绘制图形,该元素标签强大之处在于可以直接在 HTML 上进行图形操作,具有极大的应用价值. 这里分享一个惊艳的 Canvas 水滴效果,双击可以把水滴分离:拖放到一起可以融合:晃动浏览器可以让水滴跳动:键盘左右键可以切换皮肤:上下键可以变换大小. 在线演示      插件下载 您可能感兴趣的相关文章 网站开发中很有用的 jQuery 效果[附源码] 分享35个让人惊

HTML5 Canvas绘制实时时钟

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>try to draw the colock</title> <script src="js/modernizr-1.7.js"></script> <script type="text/javascript"> wind

学习笔记:HTML5 Canvas绘制简单图形

HTML5 Canvas绘制简单图形 1.添加Canvas标签,添加id供js操作. <canvas id="mycanvas" height="700" width="1024" style="border:1px solid #aaa;text-align:center;"> 你的浏览器不支持Canvas,请更新浏览器再试!!! </canvas> 在canvas标签之间应该做浏览器是否支持的检测,

使用html5 Canvas绘制线条(直线、折线等)

使用html5 Canvas绘制直线所需的CanvasRenderingContext2D对象的主要属性和方法(有"()"者为方法)如下: 属性或方法 基本描述 strokeStyle 用于设置画笔绘制路径的颜色.渐变和模式.该属性的值可以是一个表示css颜色值的字符串.如果你的绘制需求比较复杂,该属性的值还可以是一个CanvasGradient对象或者CanvasPattern对象 globalAlpha 定义绘制内容的透明度,取值在0.0(完全透明)和1.0(完全不透明)之间,默认

HTML5 canvas 绘制精美的图形

HTML5 是一个新兴标准,它正在以越来越快的速度替代久经考验的 HTML4.HTML5 是一个 W3C “工作草案” — 意味着它仍然处于开发阶段 — 它包含丰富的元素和属性,它们都支持现行的 HTML 4.01 版本规范.它还引入了几个新元素和属性,它们适用许多使用 web 页面的领域 — 音频.视频.图形.数据存储.内容呈现,等等.本文主要关注图形方面的增强:canvas. 新的 HTML5 canvas 是一个原生 HTML 绘图簿,用于 JavaScript 代码,不使用第三方工具.跨

HTML5 canvas绘制雪花飘落动画(需求分析、知识点、程序编写分布详解)

看到网上很多展示html5雪花飞动的效果,确实非常引人入胜,我相信大家也跟我一样看着心动的同时,也很好奇,想研究下代码如何实现:虽然哦很多地方也能下载这些源码,不过也不知道别人制作此类动画时的思路及难点分析. 我这几天刚好学习了一下,也趁着此刻有时间从需求分析.知识点.程序编写一步步给大家解剖下,要是在各位关公面前耍大刀了,可别见笑哟. 最终效果图如下: 图1 一.需求分析 1.圆形雪花 本示例中雪花形状使用圆形 2.雪花数量固定 根据图1仔细观察白色雪花数量,飘落过程中,整张图的雪花数量应该是