国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JS實現定時頁面彈出類似QQ新聞的提示框

2024-05-06 15:54:18
字體:
來源:轉載
供稿:網友
類似QQ新聞的提示框要求頁面每隔半小時彈出一次提示消息,下面有個不錯的實現方法,感興趣的朋友可以參考下

還是在做聯通IOM項目時遇到的一個需求,要求頁面每隔半小時彈出一次提示消息(消息以類似QQ新聞的形式彈出)。當時上網找的這么一個資料,已經不記得原文出處了

復制代碼 代碼如下:


<html>
<head>
<title>JavaScript提示框</title>

<script type="text/javascript">
<!--

/**
* 類名:CLASS_MSN_MESSAGE
* 功能:提供類似MSN消息框
* 示例:
* var MSG = new CLASS_MSN_MESSAGE("aa",200,120,"短消息提示:","您有1封消息","今天請我吃飯哈");
* MSG.show();
* 消息構造
*/
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);
} 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.lost63.com");
}
/**
* 消息顯示方法
*/
CLASS_MSN_MESSAGE.prototype.show = function(){
var oPopup = window.createPopup(); //IE5.5+
this.Pop = oPopup;

var w = this.width;
var h = this.height;

// "×"關閉按鈕
/*
str += "<tr>"
str += "<td width=30 height=24></td>"
str += "<td valign=center>" + this.caption + "</td>"
str += "<td valign=center align=right width=19>"
str += "<span
str += "</tr>"
*/
// 按鈕style
//

var str = "<div>"
str += "<table cellspacing=0 cellpadding=0 bgcolor=#cfdef4 border=0>"

str += "<tr>"
str += "<td width=30 height=24></td>"
str += "<td valign=center>" + this.caption + "</td>"
str += "</tr>"
str += "<tr>"
/*height:設置里面內容區域的高度 */
str += "<td colspan=3>"
str += "<div>" + this.title + "<br><br>"
str += "<div align=left><a href='javascript:void(0)' hidefocus=false><font color=#ff0000>" + this.message + "</font></a> - <a href='tencent://message/?uin=380522459&site=http://hi.baidu.com/lupeng0527&menu=yes' hidefocus=false><font color=#ff0000>有事您q我!</font></a></div>"
str += "</div>"
str += "</td>"
str += "</tr>"
str += "<tr align=center>"
str += "<td colspan=3>"
str += "<div>"
str += "<span><input type='button'
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=true;}

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 buttonClose = oPopup.document.getElementById("buttonClose");
buttonClose.onclick = function(){
me.close = true;
me.hide();
}
/*
* "×"關閉事件
* 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",240,150,"管理員:","思路決定出路","迷失路上");
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();
*/

/**
* 顯示提示框
*/
function showMSG(){
MSG1.show();
}

</script>
</head>

<body>
<center>
<bgsound src="" loop="no">
<input type="button" value="按鈕">
<br>
<hr>
</center>
</body>
</html>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 贡山| 南宫市| 贡觉县| 宝鸡市| 武川县| 大化| 瑞金市| 方城县| 松阳县| 玉环县| 成都市| 正镶白旗| 大厂| 喜德县| 苍山县| 蕉岭县| 南木林县| 杭锦旗| 桃源县| 图片| 临洮县| 万全县| 贡觉县| 德格县| 开平市| 勐海县| 鱼台县| 普定县| 武夷山市| 齐河县| 竹溪县| 永春县| 温州市| 南召县| 乌兰察布市| 玉溪市| 高密市| 静乐县| 常宁市| 海门市| 昌图县|