test.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. var wxCharts = require('../../pages/template/wxcharts-min.js');
  2. var ringChart = null;
  3. Page({
  4. data: {
  5. navbarInitTop: 0, //导航栏初始化距顶部的距离
  6. isFixedTop: false, //是否固定顶部
  7. },
  8. /**
  9. * 生命周期函数--监听页面加载
  10. */
  11. onLoad: function (options) {
  12. },
  13. /**
  14. * 生命周期函数--监听页面显示
  15. */
  16. onShow: function () {
  17. var that = this;
  18. if (that.data.navbarInitTop == 0) {
  19. //获取节点距离顶部的距离
  20. wx.createSelectorQuery().select('#navbar').boundingClientRect(function (rect) {
  21. if (rect && rect.top > 0) {
  22. var navbarInitTop = parseInt(rect.top);
  23. that.setData({
  24. navbarInitTop: navbarInitTop
  25. });
  26. }
  27. }).exec();
  28. }
  29. },
  30. /**
  31. * 监听页面滑动事件
  32. */
  33. onPageScroll: function (e) {
  34. var that = this;
  35. var scrollTop = parseInt(e.scrollTop); //滚动条距离顶部高度
  36. //判断'滚动条'滚动的距离 和 '元素在初始时'距顶部的距离进行判断
  37. var isSatisfy = scrollTop >= that.data.navbarInitTop ? true : false;
  38. //为了防止不停的setData, 这儿做了一个等式判断。 只有处于吸顶的临界值才会不相等
  39. if (that.data.isFixedTop === isSatisfy) {
  40. return false;
  41. }
  42. that.setData({
  43. isFixedTop: isSatisfy
  44. });
  45. },
  46. touchHandler: function (e) {
  47. console.log(ringChart.getCurrentDataIndex(e));
  48. },
  49. updateData: function () {
  50. ringChart.updateData({
  51. title: {
  52. name: '80%'
  53. },
  54. subtitle: {
  55. color: '#ff0000'
  56. }
  57. });
  58. },
  59. onReady: function (e) {
  60. ringChart = new wxCharts({
  61. animation: false,
  62. canvasId: 'ringCanvas',
  63. type: 'ring',
  64. extra: {
  65. ringWidth: 8,
  66. pie: {
  67. offsetAngle: -90
  68. }
  69. },
  70. title: {
  71. name: '70',
  72. color: '#000',
  73. fontSize: 16
  74. },
  75. subtitle: {
  76. },
  77. series: [{
  78. name: '',
  79. data: 15,
  80. stroke: false
  81. }, {
  82. name: '',
  83. data: 35,
  84. stroke: false
  85. }],
  86. disablePieStroke: true,
  87. width: 100,
  88. height: 100,
  89. dataLabel: false,
  90. legend: false,
  91. background: '#f5f5f5',
  92. padding: 0,
  93. yAxisWidth: 0,
  94. yAxisSplit: 0,
  95. xAxisHeight: 0,
  96. xAxisLineHeight: 0,
  97. legendHeight: 0,
  98. yAxisTitleWidth: 0,
  99. });
  100. }
  101. })