基于HTML5畫布實現的動畫儀表板:gauge.js

openkk 12年前發布 | 52K 次閱讀 HTML5 前端技術

這個類庫使用html5畫布來生成動態的自定義儀表板。不依賴于任何類庫也不實用任何的CSS或者圖片,完全使用畫布生成。

擁有兩套不同的UI,一個是儀表盤,一個類似原來我們介紹的jQuery knob界面。支持UI元素自定義你可以生成自己需要的顏色格式。

基于HTML5畫布實現的動畫儀表板:gauge.js

主要特性:

  • 無圖片,CSS
  • 無類庫依賴(支持jQuery,但是不是必須的)
  • 高度可配置
  • 分辨率獨立
  • 動畫數值變化
  • 支持主流瀏覽器

支持瀏覽器:

  • Chrome
  • Safari 3.2+
  • Firefox 3.5+
  • IE 9
  • Opera 10.6+
  • Mobile Safari (iOS 3.2+)
  • Android 2.3+

用法

 var opts = {
  lines: 12, // The number of lines to draw
  angle: 0.21, // The length of each line
  lineWidth: 0.44, // The line thickness
  pointer: {
    length: 0.9, // The radius of the inner circle
    strokeWidth: 0.108 // The rotation offset
  },
  colorStart: '#909090',   // Colors
  colorStop: '#8FC0DA',    // just experiment with them
  strokeColor: '#E0E0E0'   // to see which ones work best for you
};
var target = document.getElementById('foo'); // your canvas element
var gauge = new Gauge(target).setOptions(opts); // create sexy gauge!
gauge.maxValue = 3000; // set max gauge value
gauge.animationSpeed = 46; // set animation speed (32 is default value)
gauge.set(650); // set actual value

如果你使用jQuery,你可以使用如下插件代碼:

$.fn.gauge = function(opts) {
  this.each(function() {
    var $this = $(this),
        data = $this.data();

    if (data.gauge) {
      data.gauge.stop();
      delete data.gauge;
    }
    if (opts !== false) {
      data.gauge = new Gauge(this).setOptions(opts);
    }
  });
  return this;
};

項目主頁:http://www.baiduhome.net/lib/view/home/1344506045952

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!