谁有这方面的资料发下我[email protected]
我记得好像是js实现的,最好发份源码 研究下 谢谢!
我记得好像是js实现的,最好发份源码 研究下 谢谢!
解决方案 »
- 照着msdn写的 还是报错……
- 弹出层的问题
- 关于“不是有效的虚拟路径”问题请教
- 在线求一个用Dreamwerver制作一个简单的个人网页
- 怎样自杀?~因为我的帖子都没人回~!
- 急~~我有一个很复杂的表格要做,行列都没有规律,用Datagrid和datalist肯定都不行,而表格大约有80多个地方要填,我应该怎么做??一个一个
- 服务器标记的格式不正确,在onClientClick数据绑定时
- IE出问题啦。。。急急急
- ASP.NET跨页面如何访问控件
- 我在ss2000数据库里的text字段读出来的为什么是html执行的结果,而不是代码?
- 服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止远程查看应用程序错误的详细信息(出于安全原因)。
- asp.net前台和后台交互
<!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>JS实现页面右下角弹出类似QQ或MSN的消息提示框 - www.webdm.cn</title>
</head>
<body>
<SCRIPT language=JavaScript>
<!--
/**//*
* 消息构造
*/
function CLASS_MSN_MESSAGE(id,width,height,caption,title,message,target,action){
this.id = id;
this.title = title;
this.caption= caption;
this.message= message;
this.target = target;
this.action = action;
this.width = width?width:200;
this.height = height?height:120;
this.timeout= 150;
this.speed = 20;
this.step = 1;
this.right = screen.width -1;
this.bottom = screen.height;
this.left = this.right - this.width;
this.top = this.bottom - this.height;
this.timer = 0;
this.pause = false;
this.close = false;
this.autoHide = true;
}
/**//*
* 隐藏消息方法
*/
CLASS_MSN_MESSAGE.prototype.hide = function(){
if(this.onunload()){ var offset = this.height>this.bottom-this.top?this.height:this.bottom-this.top;
var me = this; if(this.timer>0){
window.clearInterval(me.timer);
} var fun = function(){
if(me.pause==false||me.close){
var x = me.left;
var y = 0;
var width = me.width;
var height = 0;
if(me.offset>0){
height = me.offset;
}
y = me.bottom - height;
if(y>=me.bottom){
window.clearInterval(me.timer);
me.Pop.hide();
} else {
me.offset = me.offset - me.step;
}
me.Pop.show(x,y,width,height);
}
} this.timer = window.setInterval(fun,this.speed)
}
}
/**//*
* 消息卸载事件,可以重写
*/
CLASS_MSN_MESSAGE.prototype.onunload = function() {
return true;
}
/**//*
* 消息命令事件,要实现自己的连接,请重写它
*
*/
CLASS_MSN_MESSAGE.prototype.oncommand = function(){
//this.close = true;
this.hide();
window.open("http://www.webdm.cn");
}
/**//*
* 消息显示方法
*/
CLASS_MSN_MESSAGE.prototype.show = function(){ var oPopup = window.createPopup(); //IE5.5+
this.Pop = oPopup;
var w = this.width;
var h = this.height;
var str = "<DIV style='BORDER-RIGHT: #455690 1px solid; BORDER-TOP: #a6b4cf 1px solid; Z-INDEX: 99999; LEFT: 0px; BORDER-LEFT: #a6b4cf 1px solid; WIDTH: " + w + "px; BORDER-BOTTOM: #455690 1px solid; POSITION: absolute; TOP: 0px; HEIGHT: " + h + "px; BACKGROUND-COLOR: #c9d3f3'>"
str += "<TABLE style='BORDER-TOP: #ffffff 1px solid; BORDER-LEFT: #ffffff 1px solid' cellSpacing=0 cellPadding=0 width='100%' bgColor=#cfdef4 border=0>"
str += "<TR>"
str += "<TD style='FONT-SIZE: 12px;COLOR: #0f2c8c' width=30 height=24></TD>"
str += "<TD style='PADDING-LEFT: 4px; FONT-WEIGHT: normal; FONT-SIZE: 12px; COLOR: #1f336b; PADDING-TOP: 4px' vAlign=center width='100%'>" + this.caption + "</TD>"
str += "<TD style='PADDING-RIGHT: 2px; PADDING-TOP: 2px' vAlign=center align=right width=19>"
str += "<SPAN title=关闭 style='FONT-WEIGHT: bold; FONT-SIZE: 12px; CURSOR: hand; COLOR: red; MARGIN-RIGHT: 4px' id='btSysClose' >×</SPAN></TD>"
str += "</TR>"
str += "<TR>"
str += "<TD style='PADDING-RIGHT: 1px;PADDING-BOTTOM: 1px' colSpan=3 height=" + (h-28) + ">"
str += "<DIV style='BORDER-RIGHT: #b9c9ef 1px solid; PADDING-RIGHT: 8px; BORDER-TOP: #728eb8 1px solid; PADDING-LEFT: 8px; FONT-SIZE: 12px; PADDING-BOTTOM: 8px; BORDER-LEFT: #728eb8 1px solid; WIDTH: 100%; COLOR: #1f336b; PADDING-TOP: 8px; BORDER-BOTTOM: #b9c9ef 1px solid; HEIGHT: 100%'>" + this.title + "<BR><BR>"
str += "<DIV style='WORD-BREAK: break-all' align=left><A href='javascript:void(0)' hidefocus=false id='btCommand'><FONT color=#ff0000>" + this.message + "</FONT></A> - <A href='http://www.webdm.cn' hidefocus=false id='ommand'><FONT color=#ff0000>专业的代码下载网站!</FONT></A></DIV>"
str += "</DIV>"
str += "</TD>"
str += "</TR>"
str += "</TABLE>"
str += "</DIV>"
oPopup.document.body.innerHTML = str;
this.offset = 0;
var me = this; oPopup.document.body.onmouseover = function(){me.pause=true;}
oPopup.document.body.onmouseout = function(){me.pause=false;} var fun = function(){
var x = me.left;
var y = 0;
var width = me.width;
var height = me.height; if(me.offset>me.height){
height = me.height;
} else {
height = me.offset;
} y = me.bottom - me.offset;
if(y<=me.top){
me.timeout--;
if(me.timeout==0){
window.clearInterval(me.timer);
if(me.autoHide){
me.hide();
}
}
} else {
me.offset = me.offset + me.step;
}
me.Pop.show(x,y,width,height); }
this.timer = window.setInterval(fun,this.speed)
var btClose = oPopup.document.getElementById("btSysClose");
btClose.onclick = function(){
me.close = true;
me.hide();
}
var btCommand = oPopup.document.getElementById("btCommand");
btCommand.onclick = function(){
me.oncommand();
}
var ommand = oPopup.document.getElementById("ommand");
ommand.onclick = function(){
//this.close = true;
me.hide();
window.open(ommand.href);
}
}
/**//*
** 设置速度方法
**/
CLASS_MSN_MESSAGE.prototype.speed = function(s){
var t = 20;
try {
t = praseInt(s);
} catch(e){}
this.speed = t;
}
/**//*
** 设置步长方法
**/
CLASS_MSN_MESSAGE.prototype.step = function(s){
var t = 1;
try {
t = praseInt(s);
} catch(e){}
this.step = t;
}
CLASS_MSN_MESSAGE.prototype.rect = function(left,right,top,bottom){
try {
this.left = left !=null?left:this.right-this.width;
this.right = right !=null?right:this.left +this.width;
this.bottom = bottom!=null?(bottom>screen.height?screen.height:bottom):screen.height;
this.top = top !=null?top:this.bottom - this.height;
} catch(e){}
}
var MSG1 = new CLASS_MSN_MESSAGE("aa",200,120,"短消息提示:","您有1封消息","网页代码站");
MSG1.rect(null,null,null,screen.height-50);
MSG1.speed = 10;
MSG1.step = 5;
//alert(MSG1.top);
MSG1.show(); //同时两个有闪烁,只能用层代替了,不过层不跨框架
//var MSG2 = new CLASS_MSN_MESSAGE("aa",200,120,"短消息提示:","您有2封消息","好的啊");
// MSG2.rect(100,null,null,screen.height);
// MSG2.show();
//-->
</SCRIPT>
<br />
<p><a href="http://www.webdm.cn">网页代码站</a> - 参考 by q107770540</p>
</body>
</html>
<script>
function openWindow(win,winTitle,winWidth,winHeight)
{
var winleft=window.screen.width-winWidth-12;
var winTop=window.screen.height-winHeight-75;
window.open(win ,winTitle,'width='+ winWidth +'px,height='+ winHeight +'px,left='+ winleft +'px,top='+ winTop +'px,scrollbars=1,status=0');
}
</script>
<script language="javascript" type="text/javascript" src="../js/Ajax.js"> </script>
<script language="javascript" type="text/javascript">
function check(typeStr)
{
var myurl="Tip.aspx?type="+typeStr;
var MyWebSend="";
xmlHttp.open("POST",myurl,true);
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.onreadystatechange = ValidateCallBack;
xmlHttp.send(MyWebSend);
}
function checkNormal()
{
check('normal');
window.setTimeout("checkNormal()",60000);
}
function checkCalendar()
{
check('calendar');
window.setTimeout("checkCalendar()",1200000);
}
function ValidateCallBack()
{
if (xmlHttp.readyState == 4)
{
if (xmlHttp.status == 200)
{
var result=xmlHttp.responseText;
if(result.indexOf("Exist::")==0)
{
openWindow('popTip.aspx','smsWindows','430','220');
}
}
else
{
}
}
}
</script>
</head>
<body onload="checkNormal();checkCalendar();"> 在popTop里绑定数据
<script>
focus();
TimeStart=30;
function MyTimer()
{
if(TimeStart==0)
window.close();
if(document.getElementById("TimeShow"))
document.getElementById("TimeShow").innerHTML=TimeStart;
TimeStart--;
var timer=setTimeout("MyTimer()",1000);
}
http://www.open-open.com/ajax/Popup.htm
<!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">
#msg_win{border: 1px solid #A67901;background: #EAEAEA;position: absolute;right: 0;font-size: 12px;font-family: Arial;margin: 0px;display: none;overflow: hidden;z-index: 99;}
#msg_win .icos{position: absolute;top: 2px;top: 0px;right: 2px;z-index: 9;}
#msg_win .icos a{float: left;color: #833B02;margin: 1px;text-align: center;font-weight: bold;width: 14px;height: 22px;line-height: 22px;padding: 1px;text-decoration: none;font-family: 'webdings';}
#msg_win .icos a:hover{color: #fff;}
#msg_title{background: #FECD00 url(bar_bg.gif) repeat-x 0 100%;border-bottom: 1px solid #A67901;border-top: 1px solid #FFF;border-left: 1px solid #FFF;color: #000;height: 25px;line-height: 25px;text-indent: 5px;}
#msg_content{margin: 5px;margin-right: 0;width: 230px;height: 126px;overflow: hidden;}
</style>
</head>
<body style="height: 2000px;">
<script type="text/javascript">
var Message = {
set: function() {//最小化与恢复状态切换
var sets = this.minbtn.status == 1 ? [0, 1, 'block', this.char[0], '最小化'] : [1, 0, 'none', this.char[1], '恢复'];
this.minbtn.status = sets[0];
this.win.style.borderBottomWidth = sets[1];
this.content.style.display = sets[2];
this.win.style.height = "auto";
this.minbtn.innerHTML = sets[3]
this.minbtn.title = sets[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) }
}, 10);
},
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();
}
}, 10);
},
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();
}, 600);
};
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 = document.createElement('div');
this.win.style.width = 410;
this.win.style.height = 202;
this.win.id = "msg_win";
this.win.innerHTML = '<div class="icos"><a href="javascript:void(0)" title="最小化" id="msg_min">0</a><a href="javascript:void(0)" title="关闭" id="msg_close">r</a></div><div id="msg_title">温馨提示</div><div id="msg_content"></div>';
document.body.appendChild(this.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);
}, 500);
return this;
}
};
Message.init();
Message.title.innerHTML = '软键盘';
Message.content.style.width = "400";
Message.content.style.height = "165";
Message.content.innerHTML = "内容部分";
</script></body>
</html>看看这个
<head>
<title></title>
<style type="text/css">
#opopdiv {width:200px;height:0px;position:fixed !important;position:absolute;right:0;bottom:0;border:1px solid #FFCC00;overflow:hidden;display:none;}
#opopdiv .title {width:100%;height:20px;line-height:20px;background:#0B9CD3;font-size:12px;border-bottom:1px solid #FFCC00;}
#opopdiv .content {width:100%; height:100%;font-size:12px;}
#opopdiv .close {position:absolute;right:4px;top:-1px;color:black;cursor:pointer;}
</style>
</head>
<body style="height:2000px;">
<script type="text/javascript">
function opop_up() {
document.getElementById("opopdiv").style.display = "block";
timer = setInterval("changeH(4)", 2);
}
function opop_down() {
timer = setInterval("changeH(-4)", 2);
} function changeH(addH) {
var MsgPop = document.getElementById("opopdiv");
var popH = parseInt(MsgPop.style.height || MsgPop.currentStyle.height);
if (popH <= 100 && addH > 0 || popH > -addH && addH < 0) {
MsgPop.style.height = (popH + addH).toString() + "px";
}
else {
clearInterval(timer);
MsgPop.style.display = addH > 0 ? "block" : "none";
}
} function opop_show(title, content) {
var opopdiv = document.createElement("div");
opopdiv.id = "opopdiv";
document.body.appendChild(opopdiv);
var strhtml = "<div class='title'>" + title + "<span class='close' onclick='opop_down()'>×</span></div>";
strhtml += "<div class='content'>" + content + "</div>";
opopdiv.innerHTML = strhtml;
opop_up();
}
//opop_show("短消息提示", "<div style='text-align:center'>这是主题<div>当这个层被图片撑到最后一个位置时,又停止了.");
opop_show("短消息提示", "<image height='100%' width='100%' src='backimg.jpg' alt='' />");
</script>
</body>
</html>