微信小程序中 想实现这样的功能:点击一个icon,icon 上方 悬浮一段文字比如:‘你好你好’,类似于element ui的文字提示,可以给出 示范的代码 吗
时间: 2024-03-27 14:36:41 浏览: 81
当用户点击 icon 时,在页面上动态创建一个浮动层,并在浮动层中显示文本即可实现此功能。以下是示范代码:
在 wxml 文件中添加 icon,并为其绑定点击事件:
```html
<view class="icon" bindtap="showToast">
<icon type="info" size="52" color="#07c160"></icon>
</view>
```
在 js 文件中添加 showToast 函数,该函数会在用户点击 icon 后触发。在该函数中,首先获取当前页面的宽度和高度,然后创建一个浮动层,设置其位置和样式,并在其中添加文本:
```javascript
Page({
showToast: function () {
// 获取页面宽度和高度
const systemInfo = wx.getSystemInfoSync();
const windowWidth = systemInfo.windowWidth;
const windowHeight = systemInfo.windowHeight;
// 创建浮动层并设置样式
const toast = wx.createCanvasContext('toast');
toast.setFillStyle('#000000');
toast.setGlobalAlpha(0.6);
toast.fillRect(0, 0, windowWidth, windowHeight);
// 添加文本
toast.setFontSize(16);
toast.setFillStyle('#ffffff');
toast.setTextAlign('center');
toast.fillText('你好你好', windowWidth / 2, windowHeight / 2);
// 将浮动层绘制到页面上
wx.drawCanvas({
canvasId: 'toast',
actions: toast.getActions(),
});
},
});
```
在 wxml 文件中添加一个 canvas 标签,用于显示浮动层:
```html
<canvas id="toast" style="position: fixed; top: 0; left: 0; width: 100%; height: 100%;"></canvas>
```
当用户点击 icon 时,会在页面上动态创建一个浮动层,并在其中显示文本。当用户点击浮动层时,将浮动层从页面上移除即可。
阅读全文