结合 Flot 和 Zepto

Combine Flot with Zepto

是否可以将 Zepto 与 Flot 一起使用?如何使用?

我知道 Flot 在 jQuery 上运行良好(已测试),但 Zepto 感觉比 jQuery 在移动设备上更快更流畅

我试了一下和运行分成两个问题。首先,flot 寻找要定义的 jQuery,其次,flot 使用 outerWidth 而 zepto 没有 replicate.

所以,让我们给它一点爱,解决这些问题:

<!DOCTYPE html>
<html>

<head>
  <script>
  </script>
  <!-- Load Zepto -->
  <script data-require="zepto@1.1.4" data-semver="1.1.4" src="https://cdnjs.cloudflare.com/ajax/libs/zepto/1.1.4/zepto.min.js"></script>
  <!-- patch in the things we need -->
  <script>
     // define jquery
    jQuery = $;
    // create outerWidth/Height functions
    // stolen from here: https://gist.github.com/pamelafox/1379704
    ['width', 'height'].forEach(function(dimension) {
      var offset, Dimension = dimension.replace(/./, function(m) {
        return m[0].toUpperCase()
      });
      $.fn['outer' + Dimension] = function(margin) {
        var elem = this;
        if (elem) {
          var size = elem[dimension]();
          var sides = {
            'width': ['left', 'right'],
            'height': ['top', 'bottom']
          };
          sides[dimension].forEach(function(side) {
            if (margin) size += parseInt(elem.css('margin-' + side), 10);
          });
          return size;
        } else {
          return null;
        }
      };
    });
  </script>
  <!-- now we can include flot -->
  <script data-require="flot@0.8.2" data-semver="0.8.2" src="//cdnjs.cloudflare.com/ajax/libs/flot/0.8.2/jquery.flot.min.js"></script>
</head>

<body>
  <div id="placeholder" style="width:300px;height:300px"></div>
  <script>
    $(function() {

      var d1 = [];
      for (var i = 0; i < 14; i += 0.5) {
        d1.push([i, Math.sin(i)]);
      }

      var d2 = [
        [0, 3],
        [4, 8],
        [8, 5],
        [9, 13]
      ];

      // A null signifies separate line segments
      var d3 = [
        [0, 12],
        [7, 12], null, [7, 2.5],
        [12, 2.5]
      ];

      $.plot("#placeholder", [d1, d2, d3]);
    });
  </script>
</body>

</html>