用javascript实现改善用户体验之alert提示效果

2023-12-10前端开发
72

下面是用javascript实现改善用户体验之alert提示效果的完整攻略。

一、alert提示框的不足

在很多情况下,我们需要对用户进行提示,告诉他们一些信息。在JavaScript中,最常用的提示方式就是使用alert框。

使用alert提示框的优点是简单易用,可以快速开发。但缺点也是十分明显的,如下:

  1. 使用alert框会打断用户的操作,从而降低用户的体验。用户可能不希望他们的操作被打断,因此使用alert提示框可能会破坏他们的思路和工作流。

  2. 在触发alert框时,页面会挂起,直到用户点击确定按钮才能继续。如果需要连续提示几次,可能会让用户感到不适。

  3. 弹出的提示框风格单一,不能自定义样式,也不能添加图标或其他元素。

综上所述,alert提示框的使用十分局限和麻烦,不能满足我们越来越丰富的用户需求。

二、利用javascript改进用户体验

为了解决上述问题,我们可以利用JavaScript技术,自定义提示框的样式和交互方式。下面,我将详细介绍如何通过JavaScript实现改善用户体验之alert提示效果。

一般来说,我们可以基于原生的JavaScript代码实现自定义提示框,并且可以利用css样式改变显示样式。在这里,我会通过两个示例来具体说明。

1、基于原生JavaScript实现

以下代码可以帮助我们实现自定义提示框:

// 自定义alert方法
function customAlert(title, msg, callback) {
    var container = document.createElement('div');
    container.className = 'alert-wrap';

    var shade = document.createElement('div');
    shade.className = 'alert-shade';
    container.appendChild(shade);

    var alertBox = document.createElement('div');
    alertBox.className = 'alert-box';
    container.appendChild(alertBox);

    var titleBox = document.createElement('div');
    titleBox.className = 'alert-title';
    titleBox.innerText = title;
    alertBox.appendChild(titleBox);

    var msgBox = document.createElement('div');
    msgBox.className = 'alert-msg';
    msgBox.innerHTML = msg;
    alertBox.appendChild(msgBox);

    var btn = document.createElement('button');
    btn.className = 'alert-btn';
    btn.innerText = '确定';
    btn.onclick = function() {
        document.body.removeChild(container);
        if (callback) callback();
    }
    alertBox.appendChild(btn);

    document.body.appendChild(container);
}

// 使用方法示例
customAlert('提示', '这是一条提示消息!', function() {
    alert('回调函数执行!');
});

在上述代码中,我们通过createElement方法创建了一些HTML元素,然后利用样式表来美化提示框的样式。

2、基于第三方插件实现

还有一个更加简单的方式,利用一些第三方JavaScript插件,如sweetalert2,来实现自定义提示框。

// 引入第三方库
import Swal from 'sweetalert2';

// 自定义提示框
Swal.fire({
    icon: 'success',
    title: '操作成功',
    text: '你已经成功地完成该操作!',
    confirmButtonText: '好的'
}).then((result) => {
    if (result.isConfirmed) {
        console.log('点击了OK按钮!');
    }
});

通过引入第三方库,我们可以快速实现自定义提示框,而且也可以通过其提供的丰富API来实现更加强大的功能。

三、总结

上述两种方法都可以用于改善用户体验之alert提示效果,当然还有其他许多方法和技巧可以实现类似功能。我们应该结合具体情况选取最适合的方式,来提高用户体验和用户满意度。

The End

相关推荐

layui实现图片上传成功后回显点击放大图片功能
layui实现图片上传成功后回显点击放大图片功能,html代码部分: !-- html代码--div class="layui-form-item" label class="layui-form-label"上传图片/label div class="layui-input-block" button type="button" class="layui-btn" id="license-auth-letter-...
2025-09-06 前端开发
202

Layui实现数据表格中鼠标悬停图片放大离开时恢复原图
Layui实现数据表格中鼠标悬停图片放大离开时恢复原图的效果,最终效果如下图所示: 实现代码如下,在done函数中调用hoverOpenImg方法 var tableIns = window.demoTable = table .render({ elem : '#idTest', id : 'idTest', url : '/postData', //width : 150...
2025-09-04 前端开发
112

layui点击文本输入框调起弹出选择框并选择内容的两种方法参考
我们在用到layui时候,需要点击文本输入框调起弹出选择框并选择内容,这个要怎么操作呢?以下两种方法可以参考: 1、点击名称,弹出信息弹框,选择表格中的某一行,实现效果如下: html页面代码 !--计量器具弹出层-- div id="equipment" lay-filter="equipmen...
2025-09-02 前端开发
167

网站部署https后百度地图不显示问题
https的网站如果引用百度地图,会出现加载不了的问题,这是因为涉及到跨域问题,网站是https的,但是引用百度地图的是http的,这个要怎么操作呢? 比如我引用的地址:http://api.map.baidu.com/api?v=2.0ak=AK显示 后来看了一下,少了一个s=1字段,加一下s=1...
2025-07-28 前端开发
139

微信小程序实现点击复制功能和手机拨打电话功能
做小程序项目的时候,客户提了一个功能需求优化,就是长按文字需要复制全部内容,因为有的手机支持全选复制,有的手机不支持全选复制。 通过设置系统剪贴板的内容和获取系统剪贴板的内容实现复制功能 html相关代码: van-field value="{{form.contactPhone}}"...
2025-07-02 前端开发
78

js拖拽排序插件Sortable.js如何使用
由于项目功能需要,要实现对table中的行实现拖拽排序功能,找来找去发现Sortable.js能很好的满足这个需求,而且它还是开源的,于是乎就开始学习使用Sortable.js 特点 轻量级但功能强大 移动列表项时有动画 支持触屏设备和大多数浏览器(IE9及以下除外) 支持...
2025-06-12 前端开发
161