demo.html 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <!-- 文档编码 -->
  5. <meta charset="UTF-8" />
  6. <!-- 视口设置,确保页面在移动设备上正确显示 -->
  7. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  8. <!-- 页面标题 -->
  9. <title>test</title>
  10. <script src="./node_modules/echarts/dist/echarts.common.min.js"></script>
  11. </head>
  12. <body>
  13. <!-- 页面主体内容 -->
  14. <script src="add.js"></script>
  15. <!-- 为 ECharts 准备一个定义了宽高的 DOM -->
  16. <div id="main" style="width: 600px; height: 400px"></div>
  17. <!-- 字号更大,加粗颜色变深 -->
  18. <h1>标题一</h1>
  19. <!-- 卡片card 周围有边框效果,还有自动的外边距间隔 -->
  20. <style>
  21. .card {
  22. margin: 10px;
  23. border: solid 1px;
  24. min-width: 100px;
  25. min-height: 80px;
  26. }
  27. </style>
  28. <div class="card">1</div>
  29. <div class="card">2</div>
  30. <div class="card">3</div>
  31. <!-- 有短横杠的属性要用小驼峰法命名 并且不是冒号是等于号-->
  32. <card>盒子1</card>
  33. <card>盒子2</card>
  34. <card>盒子3</card>
  35. <circle>圆圈1</circle>
  36. <circle>圆圈2</circle>
  37. <script>
  38. class Component {
  39. selector = ""; //选择器css
  40. template = ""; //模版页面
  41. style = {};
  42. constructor(compMetaDate) {
  43. this.selector = compMetaDate.selector;
  44. this.style = compMetaDate.style;
  45. this.template = compMetaDate.template;
  46. }
  47. //渲染
  48. render() {
  49. let compList = document.getElementsByTagName(this.selector);
  50. for (let index = 0; index < compList.length; index++) {
  51. let compele1 = compList[index];
  52. Object.keys(this.style).forEach(
  53. (
  54. key //获取所有的keys关键字并转换成数组
  55. ) => {
  56. compele1.style[key] = this.style[key];
  57. }
  58. );
  59. }
  60. }
  61. }
  62. // cardele1.style.margin = "10px";
  63. // cardele1.style.border = "solid 10px";
  64. // cardele1.style.minwidth = "100px";
  65. // cardele1.style.minheight = "80px";
  66. // let cardList = document.getElementsByTagName("card");
  67. // for (let index = 0; index < cardList.length; index++) {
  68. // let cardele1 = cardList[index];
  69. // cardele1.style.margin = "10px";
  70. // cardele1.style.border = "solid 10px";
  71. // cardele1.style.minwidth = "100px";
  72. // cardele1.style.minheight = "80px";
  73. // }
  74. let CardComponent = new Component({
  75. selector: "card",
  76. style: {
  77. margin: "10px",
  78. border: "solid 1px",
  79. minwidth: "100px",
  80. minheight: "80px",
  81. },
  82. template: "我是卡片",
  83. });
  84. CardComponent.render();
  85. let circleComponent = new Component({
  86. selector: "circle",
  87. style: {
  88. margin: "10px",
  89. border: "solid 1px",
  90. borderRadius: "50%",
  91. width: "100px",
  92. height: "80px",
  93. },
  94. template: "我是卡片",
  95. });
  96. circleComponent.render();
  97. </script>
  98. </body>
  99. </html>