javascript qq右下角滑出窗口 sheyMsg
javascript qq右下角滑出窗口 sheyMsg
发布时间:2016-12-30 来源:查字典编辑
摘要:(默认页面加载10秒后显示,显示30秒后自动隐藏,可自定义配置)09-12-5:修改图片文件,将几个背景放到一个图片文件里,并可切换两种样式...

(默认页面加载10秒后显示,显示30秒后自动隐藏,可自定义配置)

09-12-5: 修改图片文件,将几个背景放到一个图片文件里,并可切换两种样式风格 ,即qq的蓝色和红色

下载示例源码

复制代码 代码如下:

/*

*Author:sohighthesky

*From:http://blog.csdn.net/sohighthesky

*Date:2009-11-9

*/

/*

*box 指定要显示消息框或者其id

*options:参见代码中setOptions中的注释

*/

var sheyMsg=function(box,options) {

this.box=this.g(box);

this.setOptions(options);

this.init();

}

sheyMsg.prototype={

ae:function(e,call) {

if(window.addEventListener)window.addEventListener(e,call,false);

else window.attachEvent("on"+e,call);

},

g:function(id) {return typeof(id)=="string"?document.getElementById(id):id; },

isFixed:!window.ActiveXObject || (navigator.userAgent.indexOf("MSIE 6")==-1 && document.compatMode=="CSS1Compat"),

setOptions:function(options) {

this.options={//默认配置

showDelay:10,//显示延时

autoHide:30,//自动隐藏时间,设置为0时,不自动隐藏

onShow:function(){},//显示后调用

onHide:function(){}//隐藏后调用

};

for(var o in options) {

this.options[o]=options[o];

}

},

hide:function() {//隐藏

var _top=this.box.clientHeight;

var o=this;

if(/ing$/.test(o.status))return;

o.status="hiding";

clearTimeout(o.tt);

o.t=setInterval(function() {

if(o.isFixed)

o.box.style.bottom=(-o.box.clientHeight+(--_top))+'px';

else

o.box.style.top=o.de.scrollTop+o.de.clientHeight-5-(--_top) +"px";

if(_top==-5) {

clearInterval(o.t);

o.status="hide";

o.box.style.display="none";

o.options.onHide();

}

},5);

},

show:function() {//显示

var _top=0;

var o=this;

if(/ing$/.test(o.status))return;

o.status="showing";

clearTimeout(o.tt);

o.box.style.display="block";

o.t=setInterval(function() {

if(o.isFixed)

o.box.style.bottom=(-o.box.clientHeight+(++_top))+"px";

else

o.box.style.top=(o.de.scrollTop+o.de.clientHeight-5-(++_top)) +"px";

if(_top==o.box.clientHeight) {

clearInterval(o.t);

o.status="show";

o.options.onShow();

var h=o.options.autoHide-0;

if(h) o.tt=setTimeout(function() {o.hide();},h*1000);

}

},1);

},

fixIE6:function() {//IE6 滚动定位

this.box.style.left=this.de.scrollLeft+this.de.clientWidth-this.box.clientWidth-2+"px";

if(this.status=="show") {

this.box.style.top=this.de.scrollTop+this.de.clientHeight-this.box.clientHeight-5+"px";

} else if(this.status=="hide") {

this.box.style.top=this.de.scrollTop+this.de.clientHeight+5+"px";

}

},

init:function() {

with(this.box.style) {

display="block";//显示之后才能取出宽度和高度

if(this.isFixed) {

position="fixed";

right="2px";

bottom=(-this.box.clientHeight-5)+"px";

} else {

position="absolute";

}

}

this.status="hide";

var o=this;

if(!this.isFixed) {

o.de=document.compatMode=="CSS1Compat"?document.documentElement:document.body;

var timer;

this.ae("resize",function() { clearTimeout(timer);timer=setTimeout(function(){o.fixIE6.call(o)},30);});

this.ae("scroll",function() { clearTimeout(timer);timer=setTimeout(function(){o.fixIE6.call(o)},30);});

this.fixIE6();//加载时指定位置

}

o.box.style.display="none";

o.tt=setTimeout(function() {o.show();},o.options.showDelay*1000);

}

}

示例代码:

复制代码 代码如下:

<!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>

<style type="text/css">

/*pre css reset*/

body,th,td {font-size:12px;font-family:Tahoma,Helvetica,Arial,'5b8b4f53','5FAE8F6F96C59ED1',sans-serif;}

body,th,td,ol,ul,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,pre,form,fieldset,legend,input,button,textarea,p {margin:0;padding:0;}

fieldset,img { border:none; }

a {color:#3366CC; text-decoration:none;outline:none;}

a:hover {color:#FF6600;text-decoration:underline;}

/************************************************************/

/*sheyMsg style*/

.msg { width:240px;display:none; }

.pink .top,.pink .top .title,.pink .top span,.pink .bottom,.pink .bottom a {background:transparent url(../images/sheyMsg/msg_bg_pink.gif) no-repeat 0px 0px;}

.pink .center {background:url(../images/sheyMsg/center_bg_pink.gif) repeat-y;}

.blue .top,.blue .top .title,.blue .top span,.blue .bottom,.blue .bottom a {background:transparent url(../images/sheyMsg/msg_bg_blue.gif) no-repeat 0px 0px;}

.blue .center {background:url(../images/sheyMsg/center_bg_blue.gif) repeat-y;}

.msg .top{width:240px;height:25px;position:relative;}

.msg .top .title {background-position:-195px -70px;padding-left:30px;line-height:22px;width:100px;height:25px;}

.msg .top span {background-position:0px -70px;width:36px; height:17px;position:absolute;top:1px;left:198px;cursor:pointer;}

.msg .top span:hover {background-position:-43px -71px;}

.msg .center { width:240px;height:115px;}

.msg .center h3{color:#0c4e7c;text-align:center;line-height:23px;font-size:13px;}

.msg .center p{color: #0c4e7c;margin:0px 10px;line-height:20px;}

.msg .bottom {height:29px;background-position:0px -32px;}

.msg .bottom a {background-position:-120px -75px;padding-left:20px;margin:7px 10px;float:right;width:30px;height:20px;}

/*sheyMsg style end*/

.test dd { line-height:30px;}

</style>

</head>

<body>

<div id="div1">

<div>

<dl>

<dt><h3><a target="_blank" href="http://blog.csdn.net/sohighthesky/archive/2009/11/10/4795886.aspx">右下角滑出消息</a></h3></dt>

<dd>Author:<a href="http://hi.csdn.net/sohighthesky ">sohighthesky</a></dd>

<dd>Date:2009-11-10</dd>

<dd>style: <input type="radio" value="pink" name="style" id="pink" checked="checked" /><label for="pink">pink</label><input type="radio" value="blue" name="style" id="blue" /><label for="blue">blue</label></dd>

<dd>showDeplay:<input type="text" value="2" readonly="readonly"/></dd>

<dd>autoHide:<input type="text" id="txtAutoHide" value="30"/><input value="Set" type="button" id="btnSet"/><span id="info"></span></dd>

<dd><input type="button" id="btnControl" value="Show"/></dd>

</dl>

</div>

<>

<div id="msgbox">

<div>

<div>CSDN News</div>

<span title="close" id="msgclose"></span>

</div>

<div>

<h3>仿腾讯右下角消息提示</h3>

<p>showDalay:设置页面加载后显示时间延迟;<br />autoHide:显示后自动隐藏的时间,默认30秒,设置为0表示不自动隐藏;</p>

</div>

<div><a target="_blank" href="http://blog.csdn.net/sohighthesky/archive/2009/11/10/4795886.aspx">查看</a>

</div>

</div>

<>

</div>

</body>

<script type="text/javascript" src="sheyMsg.js"></script>

<script type="text/javascript">

var g=function(id){return document.getElementById(id)};

var msg=new sheyMsg("msgbox",{

showDelay:2,//

onHide:function(){

btn.value="Show";

},

onShow:function() {

btn.value="Hide";

}

});

g("pink").onclick=g("blue").onclick=function() {//switch style

g("msgbox").className="msg "+this.value;

}

var btn=g("btnControl");

btn.onclick=function() {//show or hide

if(this.value=="Show")

msg.show();

else

msg.hide();

}

g("btnSet").onclick=function() {//set autoHide

var v=g("txtAutoHide").value;

if(!isNaN(v)) {

msg.options.autoHide=v-0;

g("info").innerHTML="隐藏时间已设置,下一次show时生效";

setTimeout("g('info').innerHTML='';",3000);

}

}

g("msgclose").onclick=function() {//hide

msg.hide();

}

</script>

</html>

打包下载地址 sheyMsg 右下角滑出窗口效果代码

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类