/*
調用示例
1.要引用jquery包。
2.
function GetHtml() {
return "<div>" + Math.random()+"</div>";
}
$(document).ready(function () {
var lmyBoxPage = new PopBoxPage(GetHtml);
})
項目中用到的功能,之前由於朋友也需要類似的功能,代碼給他后,不方便閱讀和使用。
今天就又該了下,對Jquery不夠熟悉,寫的不倫不類的,但是還能用。
分享給大家,說不定能用的到。
*/
//初始化的對象
var PopBoxPage = function (GetHtml, options) {
var lmy_TopRemind = 0; //top坐標
var lmy_LeftRemind = 0; //left坐標
var lmy_Top; //屏幕高度
var lmy_Left; //屏幕寬度
var lmy_Setting = $.extend(
{
width: "400", height: "165",
border: "2px solid rgb(167, 205, 240)",
backgroundColor: "White", title: "待辦事項",
refreshTime: 600000//刷新時間
}, options);
var settime = new Array();
lmy_Top = $("html").height(); //此處根據情況可修改
lmy_Left = $("html").width(); //此處根據情況可修改
//獲取內容的函數
var Pop_GetHtml = function () {
var html = "";
html += "獲取提醒內容的函數。";
return html;
};
if (GetHtml != undefined) {
Pop_GetHtml = GetHtml;
}
//綁定關閉事件
$("#d_Close").live("click", function () {
$("#myxxDIV").remove();
});
var Pop_Init = function () {
//彈出層中的html代碼
var lmyHtml = Pop_GetHtml();
//彈出層的坐標
lmy_TopRemind = lmy_Top;
lmy_LeftRemind = lmy_Left - lmy_Setting.width - 20; //left坐標值
var html = "<div id=\"myxxDIV\" style=\"z-index: 10000;position: absolute; display:none;\">";
html += "<table style='width:100%;padding-left:5px; padding-right:5px; padding-top:5px;'><tr>";
html += "<td>" + lmy_Setting.title + "</td>";//標題
html += "<td><div id='d_Close' style='cursor:pointer; text-align:right;'>關閉</div></td>";//關閉按鈕
html += "</tr></table>";
html += lmyHtml;
html += "</div>";
$("body").css("overflow", "hidden");
$("body").append(html);
$("#myxxDIV").css("width", lmy_Setting.width);
$("#myxxDIV").offset({ top: $("html").height(), left: lmy_LeftRemind });
$("#myxxDIV").css("height", lmy_Setting.height);
$("#myxxDIV").css("border", lmy_Setting.border);
$("#myxxDIV").css("backgroundColor", lmy_Setting.backgroundColor);
$("#myxxDIV").css("display", "block");
setTimeout(Pop_SetTop, 1);
}
//設置高度
var Pop_SetTop = function () {
var top1 = lmy_Top - lmy_Setting.height - 20;
$("#myxxDIV").offset({ top: lmy_TopRemind, left: lmy_LeftRemind });
if (lmy_TopRemind > top1) {
lmy_TopRemind = lmy_TopRemind - 1;
setTimeout(Pop_SetTop, 1);
} else {
Pop_SetDingTime(); //隔斷時間掃描數據
}
}
//定時刷新內容
var Pop_SetDingTime = function () {
//停用所有定時器
for (var i = 0; i < settime.length; i++) {
clearTimeout(settime[i]);
}
settime.splice(0, settime.length); //清空數組
var time = setTimeout(Pop_LoadDataByTime, lmy_Setting.refreshTime); //10分鍾600000
settime.push(time);
}
//重新加載內容
var Pop_LoadDataByTime = function () {
$("#myxxDIV").remove();
Pop_Init();
}
Pop_Init();
}