JavaScript 实现网页右下角浮动提示框

作者:微光

时间:2026-10-28

浏览:422

本文详细介绍如何使用JavaScript和CSS实现网页右下角的浮动提示框。通过定义特定的CSS样式控制外观,利用JS对象管理DOM元素位置与动画效果,实现提示框在页面右下角显示、自动上升及关闭功能。代码包含完整的HTML结构、CSS样式表及JS逻辑,适用于Web前端开发中的消息通知场景。

文章目录

JavaScript 实现网页右下角浮动提示框

本文介绍了一种在网页右下角显示提示框的JavaScript实现方案,供开发者参考。

HTML与CSS结构定义

首先定义HTML结构部分。

具体HTML与CSS代码如下:

<style type="text/css">
.messageTip{border-right: #455690 1px solid; border-top: #a6b4cf 1px solid; border-left: #a6b4cf 1px solid; border-bottom: #455690 1px solid; z-index:99999; left: 0px; top: 0px; visibility:hidden; width: 230px; position: absolute; background:#cfdef4; text-align:left}
.messageTip .close{position:absolute; right:0px; font-weight:bold; padding:4px 4px 0 0;}
.messageTip .close a{color:red;font-size:12px; text-decoration:none;}
.messageTip .content{border-top: #ffffff 1px solid; border-left: #ffffff 1px solid}
.messageTip .content .title{color: #1f336b; padding-top: 4px;padding-left: 4px; height:22px;}
.messageTip .content .msg{border-right: #b9c9ef 1px solid;border-left: #728eb8 1px solid; border-top: #728eb8 1px solid; padding:10px; margin:1px}
</style>
<script type="text/javascript" src="/js/base.js"></script>
<div id="eMeng" class="messageTip">
 <div class="close"><a href="javascript:msgTip.close();" title="关闭">×</a></div>
 <div class="content">
 <div class="title">系统提示:</div>
 <div class="msg">
 内容
 </div>
 </div>
</div>

JavaScript逻辑实现

接下来是JavaScript代码部分。

具体JS代码如下:

function messageTip(pJso) {
_.init(this, pJso, {
name: 'msg'//提示框标签ID
    });
this.eMsg = document.getElementById(this.name);
}
messageTip.prototype =
{
 //提示框始终在最右下角
 rePosition: function(_this) {
 var divHeight = parseInt(_this.eMsg.offsetHeight, 10);
 var divWidth = parseInt(_this.eMsg.offsetWidth, 10);
 var docWidth = document.body.clientWidth;
 var docHeight = document.body.clientHeight;
 _this.eMsg.style.top = docHeight - divHeight + parseInt(document.body.scrollTop, 10);
 _this.eMsg.style.left = docWidth - divWidth + parseInt(document.body.scrollLeft, 10);
 },
//提示框慢慢往上升
 moveDiv: function(_this) {
 /*
 这里可以设置自动几秒后关闭
 ...
 */
 try {
 if (parseInt(_this.eMsg.style.top, 10) <= (_this.docHeight - _this.divHeight + parseInt(document.body.scrollTop, 10))) {
 window.clearInterval(_this.objTimer);
 _this.objTimer = window.setInterval(function() { _this.rePosition(_this); }, 1);
 }
 _this.divTop = parseInt(_this.eMsg.style.top, 10);
 _this.eMsg.style.top = _this.divTop - 1;
 }
 catch (e) {
 }
 },
 
 //关闭提示框
 close: function() {
 this.eMsg.style.visibility = 'hidden';
 if (this.objTimer) window.clearInterval(this.objTimer);
 },
//显示提示框
 show: function() {
 var divTop = parseInt(this.eMsg.style.top, 10);
 this.divTop = divTop;
 var divLeft = parseInt(this.eMsg.style.left, 10);
var divHeight = parseInt(this.eMsg.offsetHeight, 10);
 this.divHeight = divHeight;
var divWidth = parseInt(this.eMsg.offsetWidth, 10);
 var docWidth = document.body.clientWidth;
 var docHeight = document.body.clientHeight;
 this.docHeight = docHeight;
this.eMsg.style.top = parseInt(document.body.scrollTop, 10) + docHeight + 10;
 this.eMsg.style.left = parseInt(document.body.scrollLeft, 10) + docWidth - divWidth;
 this.eMsg.style.visibility = "visible";
var _this = this;
 this.objTimer = window.setInterval(function() { _this.moveDiv(_this); }, 10);
 }
}
var msgTip = new messageTip({ name: 'eMeng' });
window.onload = function() { msgTip.show(); };
window.onresize = function() { msgTip.rePosition(msgTip); };

希望本文所述对大家的web程序设计有所帮助。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章