如何使用 overHang.js 实现文本框输入后顶部下拉通知提示

发布时间 - 2026-02-01 00:00:00    点击率:

本文介绍如何通过 jquery 和 overhang.js 库,将用户在文本框中输入的内容实时显示为从页面顶部滑落的通知栏,包含完整引入方式、事件绑定逻辑与样式定制方法。

要实现“输入文字 → 点击按钮 → 顶部下拉通知显示自定义内容”的效果,原生 JavaScript 无法直接完成该动效,需借助成熟的轻量级通知插件 —— overHang.js。它专为创建可配置、带动画的顶部/底部浮动通知而设计,支持消息内容、延迟、样式类等灵活控制。

✅ 正确实现步骤

1. 引入必要依赖(推荐 CDN)

需按顺序加载:jQuery

→ jQuery UI(overHang.js 依赖)→ overHang.js 核心 JS + CSS:



⚠️ 注意:jquery-ui.min.js 是必需的(即使只用基础功能),否则 overhang() 方法会报错。

2. HTML 结构(保持简洁)

复用你原有的表单结构,无需修改:

  

Textbox

3. JavaScript 逻辑(关键改进点)

  • 使用 $("body").overhang({...}) 触发顶部下拉通知;
  • 拼接用户输入值(如 "thank you " + txt1.value);
  • 添加 setTimeout 防抖(避免连续点击重复触发);
  • 使用 clearTimeout 确保仅执行最后一次点击请求:
const txt1 = document.getElementById('tbuser');
const btn1 = document.getElementById('btn1');
let intvl;

function fun1() {
  clearTimeout(intvl);
  intvl = setTimeout(() => {
    $("body").overhang({
      message: 'Thank you, ' + (txt1.value.trim() || 'guest') + '!',
      type: "success", // 可选:success / error / warn / info
      duration: 3000,
      customClasses: "overhang"
    });
  }, 200);
}

btn1.addEventListener('click', fun1);

4. 自定义样式(可选)

通过 .overhang 类覆盖默认宽度与居中行为:

.overhang {
  width: 80% !important;
  margin: 0 auto !important;
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

? 补充说明

  • 若输入为空,建议用 txt1.value.trim() 做空值判断,避免显示 "Thank you, !";
  • type 参数可增强语义(如 error 显示红色背景),提升用户体验;
  • overHang 支持更多高级选项:图标、按钮回调、多语言、Z-index 控制等,详见 官方文档。

至此,点击按钮后,一条优雅的顶部下拉通知将滑入视野,清晰展示用户输入内容 —— 简洁、可靠、开箱即用。


# css  # javascript  # java  # jquery  # html  # js  # ajax  # npm  # cdn  # 多语言  # .net  # Error 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  音响网站制作视频教程,隆霸音响官方网站?  小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像  JavaScript如何实现音频处理_Web Audio API如何工作?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  详解Android图表 MPAndroidChart折线图  Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  浅谈Javascript中的Label语句  南京网站制作费用,南京远驱官方网站?  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  图册素材网站设计制作软件,图册的导出方式有几种?  Laravel如何实现文件上传和存储?(本地与S3配置)  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  百度输入法ai组件怎么删除 百度输入法ai组件移除工具  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  如何在IIS7中新建站点?详细步骤解析  Laravel如何使用Service Container和依赖注入?(代码示例)  javascript中对象的定义、使用以及对象和原型链操作小结  PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】  如何用VPS主机快速搭建个人网站?  浅析上传头像示例及其注意事项  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  Python文件流缓冲机制_IO性能解析【教程】  如何在搬瓦工VPS快速搭建网站?  如何快速搭建高效香港服务器网站?  香港服务器租用费用高吗?如何避免常见误区?  青岛网站建设如何选择本地服务器?  大同网页,大同瑞慈医院官网?  如何在建站之星网店版论坛获取技术支持?  如何快速搭建FTP站点实现文件共享?  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  Python自然语言搜索引擎项目教程_倒排索引查询优化案例  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  Python进程池调度策略_任务分发说明【指导】  JavaScript如何实现路由_前端路由原理是什么  免费视频制作网站,更新又快又好的免费电影网站?  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  如何快速完成中国万网建站详细流程?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】  Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置  奇安信“盘古石”团队突破 iOS 26.1 提权