<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>可最小化和关闭的右下角浮动窗口</title>
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<style type="text/css">
#msg_win{position:absolute;right:0px;display:none;overflow:hidden;z-index:99;border:1px solid #c00;background:#F9EFFC;width:240px;font-size:12px;margin:0px;}
#msg_win .icos{position:absolute;top:2px;*top:0px;right:2px;z-index:9;}
.icos a{float:left;color:#FFFFFF;margin:1px;text-align:center;font-weight:bold;width:14px;height:22px;line-height:22px;padding:1px;text-decoration:none;font-family:webdings;}
.icos a:hover{color:#FFCC00;}
#msg_title{background:#AC19E3;border-bottom:1px solid #710B97;border-top:1px solid #FFF;border-left:1px solid #FFF;color:#FFFFFF;height:25px;line-height:25px;text-indent:5px;font-weight:bold;}
#msg_content{margin:5px;margin-right:0;width:230px;height:126px;overflow:hidden;}
</style>
</head>
<body>
<div style="height:2000px;"></div>
<div id="msg_win" style="display:block;top:503px;visibility:visible;opacity:1;">
<div class="icos"><a id="msg_min" title="最小化" href="javascript:void 0">_</a><a id="msg_close" title="关闭" href="javascript:void 0">×</a></div>
<div id="msg_title">浮动窗口标题:</div>
<div id="msg_content">浮动窗口内容:欢迎提出宝贵意见,谢谢!</div>
</div>
<script language="javascript">
var Message={
set: function() {//最小化与恢复状态切换
var set=this.minbtn.status == 1?[0,1,'block',this.char[0],'最小化']:[1,0,'none',this.char[1],'恢复'];
this.minbtn.status=set[0];
this.win.style.borderBottomWidth=set[1];
this.content.style.display =set[2];
this.minbtn.innerHTML =set[3]
this.minbtn.title = set[4];
this.win.style.top = this.getY().top;
},
close: function() {//关闭
this.win.style.display = 'none';
window.onscroll = null;
},
setOpacity: function(x) {//设置透明度
var v = x >= 100 ? '': 'Alpha(opacity=' + x + ')';
this.win.style.visibility = x<=0?'hidden':'visible';//IE有绝对或相对定位内容不随父透明度变化的bug
this.win.style.filter = v;
this.win.style.opacity = x / 100;
},
show: function() {//渐显
clearInterval(this.timer2);
var me = this,fx = this.fx(0, 100, 0.1),t = 0;
this.timer2 = setInterval(function() {
t = fx();
me.setOpacity(t[0]);
if (t[1] == 0) {clearInterval(me.timer2) }
},6);//10 to 6
},
fx: function(a, b, c) {//缓冲计算
var cMath = Math[(a - b) > 0 ? "floor": "ceil"],c = c || 0.1;
return function() {return [a += cMath((b - a) * c), a - b]}
},
getY: function() {//计算移动坐标
var d = document,b = document.body, e = document.documentElement;
var s = Math.max(b.scrollTop, e.scrollTop);
var h = /BackCompat/i.test(document.compatMode)?b.clientHeight:e.clientHeight;
var h2 = this.win.offsetHeight;
return {foot: s + h + h2 + 2+'px',top: s + h - h2 - 2+'px'}
},
moveTo: function(y) {//移动动画
clearInterval(this.timer);
var me = this,a = parseInt(this.win.style.top)||0;
var fx = this.fx(a, parseInt(y));
var t = 0 ;
this.timer = setInterval(function() {
t = fx();
me.win.style.top = t[0]+'px';
if (t[1] == 0) {
clearInterval(me.timer);
me.bind();
}
},6);//10 to 6
},
bind:function (){//绑定窗口滚动条与大小变化事件
var me=this,st,rt;
window.onscroll = function() {
clearTimeout(st);
clearTimeout(me.timer2);
me.setOpacity(0);
st = setTimeout(function() {
me.win.style.top = me.getY().top;
me.show();
},100);//600 mod 100
};
window.onresize = function (){
clearTimeout(rt);
rt = setTimeout(function() {me.win.style.top = me.getY().top},100);
}
},
init: function() {//创建HTML
function $(id) {return document.getElementById(id)};
this.win=$('msg_win');
var set={minbtn: 'msg_min',closebtn: 'msg_close',title: 'msg_title',content: 'msg_content'};
for (var Id in set) {this[Id] = $(set[Id])};
var me = this;
this.minbtn.onclick = function() {me.set();this.blur()};
this.closebtn.onclick = function() {me.close()};
this.char=navigator.userAgent.toLowerCase().indexOf('firefox')+1?['_','::','×']:['0','2','r'];//FF不支持webdings字体
this.minbtn.innerHTML=this.char[0];
this.closebtn.innerHTML=this.char[2];
setTimeout(function() {//初始化最先位置
me.win.style.display = 'block';
me.win.style.top = me.getY().foot;
me.moveTo(me.getY().top);
},0);
return this;
}
};
Message.init();
</script>
</body>
</html>

转载于:https://www.cnblogs.com/Kazaf/archive/2012/08/21/2649314.html

可关闭与最小化的右下角浮动广告代码相关推荐

  1. winform实现关闭或最小化隐藏到右下脚

    winform软件实现关闭隐藏到右下脚图标 一.引入NotifyIcon控件 NotifyIcon1_MouseDoubleClick 事件主要实现双击右下角图标显示窗口.具体实现如下: privat ...

  2. 通用方法 关闭Outlook最小化非直接退出

    我用的是outlook 2013 保持Outlook一直运行,关闭等于最小化 第一步:将KeepOutlookRunning-64bit.dll拷贝到C:\Windows\System32目录下,注意 ...

  3. Mac 开发中如何设置 关闭 以及最小化 最大化按钮事件处理

    Xcode默认的向导生成的工程的带有关闭,最小化,最大化这几个按钮, 关闭按钮的事件,最让窗口最小化到Dock中,但当你点击Dock却无法恢复,而在Window菜单中也不会多一个与你程序同名的&quo ...

  4. 【转】ubuntu 12.04 LTS将关闭最大化最小化移动到右上角

    原文网址:http://www.4byte.cn/learning/114801.html ubuntu 12.04 LTS将关闭最大化最小化移动到右上角 还是按下"ALT +F2" ...

  5. Outlook关闭时最小化到任务栏的完美解决方法

    在国外的一个网站上看到了一个com组件,可以让Outlook关闭时最小化. 现在给大家分享一下: 这是用到的dll有32位和64位两种,可根据你自己的机器选择 我用的是outlook 2013,(一定 ...

  6. QT如何实现后台运行(即最小化到右下角托盘)

    QT如何实现后台运行(即最小化到右下角托盘) 第一期: 用hello world简单的代码更容易看懂托盘的具体实现,一些细节问题,比如为什么提示消息没有显示在托盘上,如何在tip消息上增加图标等. # ...

  7. JS教程()js弹出小窗口(没有浏览器窗口地址栏,工具栏,菜单栏,显示栏,只有关闭和最小化按钮)

    使用js弹出小窗口(没有浏览器窗口地址栏,工具栏,菜单栏,显示栏,只有关闭和最小化按钮)代码如下:<input type="text" name="ok" ...

  8. Linux图形桌面窗口通过VNC等工具访问后打开窗口没有标题栏,不能移动,关闭,最小化的解决方法

    通过Xmanager .VNC等工具远程登录linux服务器. Linux图形桌面窗口没有标题栏,不能移动,关闭,最小化的解决方法 问题: Linux图形桌面窗口没有标题栏,不能移动,关闭,最小化 现 ...

  9. Outlook开机自启+关闭时最小化

    文章目录 开机自启 关闭时最小化 参考文献 开机自启 资源管理器路径中输入 shell:startup 如本人的结果为 C:\Users\Administrator\AppData\Roaming\M ...

最新文章

  1. MSSQL 2008里事务的一个问题
  2. 读《编程之道》-对于程序员的抽象描述
  3. python如何保证输入键入数字
  4. jQuery选择器 (详解)
  5. 在阿里云上进行Docker应用的自动弹性伸缩
  6. 无监督学习与监督学习_有监督与无监督学习
  7. ArrayList如何对某个对象的日期属性排序?
  8. C/C++高级算法之绘制曼德布洛特集
  9. leetcode-sort-colors
  10. Qt同时加载多个项目
  11. java编写数字时钟_用JAVA写数字时钟
  12. docker容器的实践——综合项目一
  13. [JSOI2008]最大数maxnumber(线段树)
  14. opencontrail学习(一)
  15. itunes不能读取iPhone的内容,请前往iPhone“偏好设置”的“摘要”选项卡,然后单击“恢复”
  16. 工业机器人的TCP点
  17. jmeter 报405错误_get请求400错误,post请求405错误
  18. JAVA仿猫眼电影系统(毕业设计)
  19. 【socket】从计算机网络基础到socket编程——Windows Linux C语言 + Python实现(TCP+UDP)
  20. WLAN基本知识之无线基本概念

热门文章

  1. maven 依赖版本管理— dependencyManagement
  2. arcgis不闭合线转面_地理工具学习--arcgis篇(15):CAD和SHP的简单转换
  3. mysql自定义函数重载_python pyMysql 自定义异常 函数重载
  4. 学java有什么技巧?
  5. 注意了,有关学习前端的一些“坑”,别踩!
  6. c语言中去掉最小值,2020-07-12(C语言)从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删除元素的值。空出的位置由最后一个元素填补,若顺序表为空则显示出错信息并退出运行。...
  7. 吴功宜计算机网络教程ppt,计算机网络 吴功宜 编著ppt课件.ppt
  8. deliphi 字符串分割_delphi中拆分字符串的函数
  9. 图像处理算法工程师——1必备技能总结——2面试题大全
  10. resnet,inception,densenet,senet