当前位置:首页 > JavaScript

js实现toast

2026-03-14 22:46:34JavaScript

实现Toast功能的几种方法

使用原生JavaScript

创建一个简单的Toast通知可以通过动态生成DOM元素并设置定时器实现:

function showToast(message, duration = 3000) {
  const toast = document.createElement('div');
  toast.className = 'toast-notification';
  toast.textContent = message;

  document.body.appendChild(toast);

  setTimeout(() => {
    toast.classList.add('fade-out');
    setTimeout(() => toast.remove(), 500);
  }, duration);
}

// CSS样式建议
.toast-notification {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0,0,0,0.7);
  color: white;
  padding: 12px 24px;
  border-radius: 4px;
  animation: fade-in 0.5s;
}

.fade-out {
  opacity: 0;
  transition: opacity 0.5s;
}

@keyframes fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

使用第三方库

对于更复杂的需求,可以考虑成熟的Toast库:

js实现toast

  1. Toastr - 简单易用的通知库

    // 引入CDN或npm安装后
    toastr.success('操作成功');
    toastr.error('发生错误');
  2. SweetAlert2 - 功能丰富的弹窗库

    js实现toast

    Swal.fire({
    toast: true,
    position: 'top-end',
    showConfirmButton: false,
    timer: 3000,
    title: '自定义Toast'
    });

使用浏览器原生API

现代浏览器支持Notification API,适合系统级通知:

if ('Notification' in window) {
  Notification.requestPermission().then(perm => {
    if (perm === 'granted') {
      new Notification('标题', { body: '消息内容' });
    }
  });
}

注意事项

  • 移动端适配需要考虑不同屏幕尺寸
  • 多个Toast出现时建议实现队列管理
  • 可添加进度条显示剩余时间
  • 支持自定义位置(top/bottom/center等)

标签: jstoast
分享给朋友:

相关文章

js实现继承

js实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js实现图片预览

js实现图片预览

使用FileReader API实现图片预览 通过FileReader对象读取用户选择的图片文件并显示预览: const input = document.getElementById('image…

js实现驼峰

js实现驼峰

实现驼峰命名的几种方法 使用正则表达式和字符串替换 通过正则表达式匹配字符串中的特定模式(如下划线或短横线),并将其后的字母转换为大写,同时移除分隔符。 function toCamelCase(s…

js实现防洪

js实现防洪

防抖(Debounce)实现 防抖的核心思想是在事件触发后延迟执行回调函数,若在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口调整等场景。 function debounce(f…

js实现目录

js实现目录

实现目录的基本思路 在JavaScript中实现目录功能通常涉及以下几个核心步骤:解析文档中的标题元素(如h1-h6),动态生成目录结构,并添加交互逻辑(如点击跳转)。以下是具体实现方法: 解析标题…

vue实现js休眠

vue实现js休眠

实现 JavaScript 休眠的方法 在 Vue 中实现 JavaScript 休眠(延迟执行)可以通过以下方式实现。由于 JavaScript 本身没有内置的 sleep 函数,通常使用 Prom…