1e41f4b71Sopenharmony_ci# marquee
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci>  **说明:**
4e41f4b71Sopenharmony_ci>  从API version 4开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
5e41f4b71Sopenharmony_ci>  从API version 6开始,仅当文本内容宽度超过跑马灯组件宽度时滚动。
6e41f4b71Sopenharmony_ci
7e41f4b71Sopenharmony_ci跑马灯组件,用于展示一段单行滚动的文字。
8e41f4b71Sopenharmony_ci
9e41f4b71Sopenharmony_ci## 权限列表
10e41f4b71Sopenharmony_ci
11e41f4b71Sopenharmony_ci12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ci
14e41f4b71Sopenharmony_ci## 子组件
15e41f4b71Sopenharmony_ci
16e41f4b71Sopenharmony_ci不支持。
17e41f4b71Sopenharmony_ci
18e41f4b71Sopenharmony_ci
19e41f4b71Sopenharmony_ci## 属性
20e41f4b71Sopenharmony_ci
21e41f4b71Sopenharmony_ci除支持[通用属性](js-components-common-attributes.md)外,还支持如下属性:
22e41f4b71Sopenharmony_ci
23e41f4b71Sopenharmony_ci| 名称           | 类型     | 默认值  | 必填   | 描述                                       |
24e41f4b71Sopenharmony_ci| ------------ | ------ | ---- | ---- | ---------------------------------------- |
25e41f4b71Sopenharmony_ci| scrollamount | number | 6    | 否    | 跑马灯每次滚动时移动的最大长度。                         |
26e41f4b71Sopenharmony_ci| loop         | number | -1   | 否    | 跑马灯滚动的次数。如果未指定,则默认值为-1,当该值小于等于零时表示marquee将连续滚动。 |
27e41f4b71Sopenharmony_ci| direction    | string | left | 否    | 设置跑马灯的文字滚动方向,可选值为left和right。             |
28e41f4b71Sopenharmony_ci
29e41f4b71Sopenharmony_ci
30e41f4b71Sopenharmony_ci## 样式
31e41f4b71Sopenharmony_ci
32e41f4b71Sopenharmony_ci除支持[通用样式](js-components-common-styles.md)外,还支持如下样式:
33e41f4b71Sopenharmony_ci
34e41f4b71Sopenharmony_ci| 名称          | 类型                         | 默认值        | 必填   | 描述                                       |
35e41f4b71Sopenharmony_ci| ----------- | -------------------------- | ---------- | ---- | ---------------------------------------- |
36e41f4b71Sopenharmony_ci| color       | <color>              | \#e5000000 | 否    | 设置跑马灯中文字的文本颜色。                           |
37e41f4b71Sopenharmony_ci| font-size   | <length>             | 37.5       | 否    | 设置跑马灯中文字的文本尺寸。                           |
38e41f4b71Sopenharmony_ci| allow-scale | boolean                    | true       | 否    | 设置跑马灯中文字的文本尺寸是否跟随系统设置字体缩放尺寸进行放大缩小。<br/>如果在config描述文件中针对ability配置了fontSize的config-changes标签,则应用不会重启而直接生效。 |
39e41f4b71Sopenharmony_ci| font-weight | number&nbsp;\|&nbsp;string | normal     | 否    | 设置跑马灯中文字的字体的粗细,见[text组件font-weight的样式属性](js-components-basic-text.md#样式)。 |
40e41f4b71Sopenharmony_ci| font-family | string                     | sans-serif | 否    | 设置跑马灯中文字的字体列表,用逗号分隔,每个字体用字体名或者字体族名设置。列表中第一个系统中存在的或者通过[自定义字体](js-components-common-customizing-font.md)指定的字体,会被选中作为文本的字体。 |
41e41f4b71Sopenharmony_ci
42e41f4b71Sopenharmony_ci
43e41f4b71Sopenharmony_ci## 事件
44e41f4b71Sopenharmony_ci
45e41f4b71Sopenharmony_ci除支持[通用事件](js-components-common-events.md)外,还支持如下事件:
46e41f4b71Sopenharmony_ci
47e41f4b71Sopenharmony_ci| 名称     | 参数   | 描述                                       |
48e41f4b71Sopenharmony_ci| ------ | ---- | ---------------------------------------- |
49e41f4b71Sopenharmony_ci| bounce | -    | 当文本滚动到末尾时触发该事件。                          |
50e41f4b71Sopenharmony_ci| finish | -    | 当完成滚动次数时触发该事件。需要在&nbsp;loop&nbsp;属性值大于&nbsp;0&nbsp;时触发。 |
51e41f4b71Sopenharmony_ci| start  | -    | 当文本滚动开始时触发该事件。                           |
52e41f4b71Sopenharmony_ci
53e41f4b71Sopenharmony_ci## 方法
54e41f4b71Sopenharmony_ci
55e41f4b71Sopenharmony_ci除支持[通用方法](js-components-common-methods.md)外,还支持如下方法:
56e41f4b71Sopenharmony_ci
57e41f4b71Sopenharmony_ci| 名称    | 参数   | 描述    |
58e41f4b71Sopenharmony_ci| ----- | ---- | ----- |
59e41f4b71Sopenharmony_ci| start | -    | 开始滚动。 |
60e41f4b71Sopenharmony_ci| stop  | -    | 停止滚动。 |
61e41f4b71Sopenharmony_ci
62e41f4b71Sopenharmony_ci
63e41f4b71Sopenharmony_ci## 示例
64e41f4b71Sopenharmony_ci
65e41f4b71Sopenharmony_ci```html
66e41f4b71Sopenharmony_ci<!-- xxx.hml -->
67e41f4b71Sopenharmony_ci<div class="tutorial-page">
68e41f4b71Sopenharmony_ci  <div class="mymarquee">
69e41f4b71Sopenharmony_ci    <marquee  style="color: {{color1}}" loop="{{loopval}}" scrollamount="{{scroll}}" direction="{{isleft}}" class="marqueetext" 
70e41f4b71Sopenharmony_ci    id="testmarquee" onfinish="setfinish">
71e41f4b71Sopenharmony_ci      Life is a journey, not the destination.
72e41f4b71Sopenharmony_ci    </marquee>
73e41f4b71Sopenharmony_ci  </div>
74e41f4b71Sopenharmony_ci  <div style="width: 600px;height: 150px;flex-direction: row;justify-content: space-around;">
75e41f4b71Sopenharmony_ci    <button onclick="makestart"  value="start"></button>
76e41f4b71Sopenharmony_ci    <button onclick="makestop" value="stop"></button>
77e41f4b71Sopenharmony_ci  </div>
78e41f4b71Sopenharmony_ci</div>
79e41f4b71Sopenharmony_ci```
80e41f4b71Sopenharmony_ci
81e41f4b71Sopenharmony_ci```css
82e41f4b71Sopenharmony_ci/* xxx.css */
83e41f4b71Sopenharmony_ci.tutorial-page {
84e41f4b71Sopenharmony_ci  width: 750px;
85e41f4b71Sopenharmony_ci  height: 100%;
86e41f4b71Sopenharmony_ci  flex-direction: column;
87e41f4b71Sopenharmony_ci  align-items: center;
88e41f4b71Sopenharmony_ci  justify-content: center;
89e41f4b71Sopenharmony_ci}
90e41f4b71Sopenharmony_ci.marqueetext {
91e41f4b71Sopenharmony_ci  font-size: 37px;
92e41f4b71Sopenharmony_ci}
93e41f4b71Sopenharmony_ci.mymarquee {
94e41f4b71Sopenharmony_ci  margin-top: 20px;
95e41f4b71Sopenharmony_ci  width:100%;
96e41f4b71Sopenharmony_ci  height: 100px;
97e41f4b71Sopenharmony_ci  margin-left: 50px;
98e41f4b71Sopenharmony_ci  margin-right: 50px;
99e41f4b71Sopenharmony_ci  border: 1px solid #dc0f27;
100e41f4b71Sopenharmony_ci  border-radius: 15px;
101e41f4b71Sopenharmony_ci  align-items: center;
102e41f4b71Sopenharmony_ci}
103e41f4b71Sopenharmony_cibutton{
104e41f4b71Sopenharmony_ci  width: 200px;
105e41f4b71Sopenharmony_ci  height: 80px;
106e41f4b71Sopenharmony_ci  margin-top: 100px;
107e41f4b71Sopenharmony_ci}
108e41f4b71Sopenharmony_ci```
109e41f4b71Sopenharmony_ci
110e41f4b71Sopenharmony_ci```js
111e41f4b71Sopenharmony_ci// xxx.js
112e41f4b71Sopenharmony_ciexport default {
113e41f4b71Sopenharmony_ci  private: {
114e41f4b71Sopenharmony_ci    loopval: 1,
115e41f4b71Sopenharmony_ci    scroll: 8,
116e41f4b71Sopenharmony_ci    color1: 'red'
117e41f4b71Sopenharmony_ci  },
118e41f4b71Sopenharmony_ci  onInit(){
119e41f4b71Sopenharmony_ci  },
120e41f4b71Sopenharmony_ci  setfinish(e) {
121e41f4b71Sopenharmony_ci    this.loopval=  this.loopval + 1,
122e41f4b71Sopenharmony_ci    this.r = Math.floor(Math.random()*255),
123e41f4b71Sopenharmony_ci    this.g = Math.floor(Math.random()*255),
124e41f4b71Sopenharmony_ci    this.b = Math.floor(Math.random()*255),
125e41f4b71Sopenharmony_ci    this.color1 = 'rgba('+ this.r +','+ this.g +','+ this.b +',0.8)',
126e41f4b71Sopenharmony_ci    this.$element('testmarquee').start(),
127e41f4b71Sopenharmony_ci    this.loopval=  this.loopval - 1
128e41f4b71Sopenharmony_ci  },
129e41f4b71Sopenharmony_ci  makestart(e) {
130e41f4b71Sopenharmony_ci    this.$element('testmarquee').start()
131e41f4b71Sopenharmony_ci  },
132e41f4b71Sopenharmony_ci  makestop(e) {
133e41f4b71Sopenharmony_ci    this.$element('testmarquee').stop()
134e41f4b71Sopenharmony_ci  }
135e41f4b71Sopenharmony_ci}
136e41f4b71Sopenharmony_ci```
137e41f4b71Sopenharmony_ci
138e41f4b71Sopenharmony_ci![zh-cn_image_0000001176075554](figures/zh-cn_image_0000001176075554.gif)
139e41f4b71Sopenharmony_ci
140e41f4b71Sopenharmony_ci
141