当点击一个事件时将图标换成正在加载的图标 跑完后将事件设为不可点 并且切换为之前的图标
时间: 2024-03-13 10:47:54 浏览: 10
好的,这个问题是关于前端开发的,我可以给你一些思路和代码片段来实现这个功能。
首先,在 HTML 中定义一个按钮,并为其添加一个图标:
```html
<button id="myButton">
<i class="fa fa-search"></i> Search
</button>
```
其中,`fa fa-search` 是 Font Awesome 图标库中的一个搜索图标。
然后,在 JavaScript 中获取该按钮的 DOM 对象,并为其添加点击事件的监听器:
```javascript
const myButton = document.getElementById('myButton');
myButton.addEventListener('click', () => {
// 切换图标为正在加载的图标
myButton.innerHTML = '<i class="fa fa-spinner fa-spin"></i> Loading...';
// 禁用按钮
myButton.disabled = true;
// 执行耗时操作(例如发送 AJAX 请求)
// 模拟一个 3 秒的等待时间
setTimeout(() => {
// 切换图标为之前的图标
myButton.innerHTML = '<i class="fa fa-search"></i> Search';
// 启用按钮
myButton.disabled = false;
}, 3000);
});
```
在点击按钮后,我们首先将按钮的 HTML 内容修改为正在加载的图标(`fa fa-spinner fa-spin` 是 Font Awesome 图标库中的一个旋转的圆圈图标),然后禁用按钮。接着,我们可以执行一些耗时的操作,例如发送 AJAX 请求,等待操作完成后再将按钮的图标和可用状态恢复为之前的状态。
希望这个代码片段能够帮助你实现你的功能。