📄 jsutils.js
字号:
return sb.toString();
}
//初始化资源积分
CJB.AsyncTooltip.initResourceInfo = function(options)
{
options.Async = true;
options.RequestUrl = CJB.AsyncTooltip.asyncInvokePath() + "JSResourceInfo.aspx?UserName=" + options.UserName;
options.Formater = "CJB.AsyncTooltip.formatResourceInfo('" + options.UserName +"')";
options.ContentCssClass = "cjb_AsyncTooltip_formatResourceInfo";
CJB.AsyncTooltip.init(options, null);
}
CJB.AsyncTooltip.formatResourceInfo = function(userName)
{
var jsonObj = null;
try{ jsonObj = eval('ResourceInfo_'+userName); }catch(exception){ return null; }
var sb = new CJB.Utils.StringBuffer();
sb.append(jsonObj.Content);
return sb.toString();
}
//初始化博客小贴士内容 by venjiang 2007/11/22
CJB.AsyncTooltip.initBlogElf = function(options)
{
options.Async = true;
options.RequestUrl = CJB.AsyncTooltip.asyncInvokePath() + "BlogShowme.ashx?UserName=" + options.UserName;
options.Formater = "CJB.AsyncTooltip.formatBlogElf('" + options.UserName +"')";
options.ContentCssClass = "cjb_AsyncTooltip_BlogElf";
CJB.AsyncTooltip.init(options, null);
}
CJB.AsyncTooltip.formatBlogElf = function(userName)
{
var jsonObj = null;
try{ jsonObj = eval('blogElf_'+userName); }catch(exception){ return null; }
var sb = new CJB.Utils.StringBuffer();
sb.append(jsonObj.Content);
return sb.toString();
}
//获取页面某标签元素的TipJson数组
CJB.AsyncTooltip.getTipJsonsByTag = function(tag)
{
var tipJsons = new Array();
var items = document.body.getElementsByTagName(tag);
for(i=0; i<items.length; i++)
{
if(items[i].getAttribute("tipJson") != null)
{
//如果没有设置id,则动态分配一个
if(!items[i].id)
{
items[i].id = 'cjb_tid' + Math.round(Math.random()*100000000);
}
var tipJson = CJB.Utils.evalJsonString(items[i].getAttribute("tipJson"));
tipJson.TargetId = items[i].id;//把当前节点的id赋值到TargetId
tipJsons.push(tipJson);
}
}
return tipJsons;
}
//初始化异步调用
CJB.AsyncTooltip.initAsync = function()
{
var tipJsons = CJB.AsyncTooltip.getTipJsonsByTag("a");
var imgJsons = CJB.AsyncTooltip.getTipJsonsByTag("img");
for(i=0;i<imgJsons.length;i++)
{
tipJsons.push(imgJsons[i]);
}
//测试输出
//for(i=0;i<tipJsons.length;i++)
//{
// document.write(tipJsons[i].TargetId+'<br/>');
//}
for(var i=0; i<tipJsons.length; i++)
{
try
{
switch(tipJsons[i].Method)
{
case "initForumExpertInfo":
CJB.AsyncTooltip.initForumExpertInfo(tipJsons[i]);
break;
case "initBlogCommentInfo":
CJB.AsyncTooltip.initBlogCommentInfo(tipJsons[i]);
break;
case "initBlogElf":
CJB.AsyncTooltip.initBlogElf(tipJsons[i]);
break;
case "initProfileInfo":
CJB.AsyncTooltip.initProfileInfo(tipJsons[i]);
break;
case "initResourceInfo":
CJB.AsyncTooltip.initResourceInfo(tipJsons[i]);
break;
}
}
catch(ex)
{
//alert(ex.message);//test
}
}
}
//获取内容容器的Id
CJB.AsyncTooltip.getContentId = function(popupId)
{
return popupId + '_ContentId';
}
//创建带尖角的圆框
CJB.AsyncTooltip.createAngledRoundPanel = function(direction, popupId, text, contentCssClass)
{
var result = new String();
var content = new String();
content += '<div id="' + CJB.AsyncTooltip.getContentId(popupId) + '" class="' + contentCssClass +'">';
content += text;
content += '</div>';
if(direction == 'right')
{
result += '<table class="cjhBorder2" border="0" cellpadding="0" cellspacing="0">';
result += '<tbody>';
result += '<tr class="cjhBorder2_trT">';
result += '<td class="cjhBorder2TL1"></td>';
result += '<td class="cjhBorder2TC"></td>';
result += '<td class="cjhBorder2TR1"></td>';
result += '</tr>';
result += '<td valign="top" class="cjhBorder2CL1">';
result += '<img src="'+CJB.AsyncTooltip.ApplictionPath()+'/script/Tooltip/images/AsyncToolTip/CJHBorder_CLCornu.gif" alt="" />';
result += '</td>';
result += '<td class="cjhBorder2CC">';
result += content;
result += '</td>';
result += '<td class="cjhBorder2CR1">';
result += '</td>';
result += '</tr>';
result += '<tr>';
result += '<td class="cjhBorder2BL1"></td>';
result += '<td class="cjhBorder2BC"></td>';
result += '<td class="cjhBorder2BR1"></td>';
result += '</tr>';
result += '</tbody>';
result += '</table>';
//alert(result.toString());
}
else if(direction == 'left')
{
result += '<table class="cjhBorder2" border="0" cellpadding="0" cellspacing="0">';
result += '<tr class="cjhBorder2_trT">';
result += '<td class="cjhBorder2TL2"></td>';
result += '<td class="cjhBorder2TC"></td>';
result += '<td class="cjhBorder2TR2"></td>';
result += '</tr>';
result += '<tr>';
result += '<td valign="top" class="cjhBorder2CL2">';
result += '</td>';
result += '<td class="cjhBorder2CC">';
result += content;
result += '</td>';
result += '<td valign="top" class="cjhBorder2CR2">';
result += '<img src="'+CJB.AsyncTooltip.ApplictionPath()+'/script/Tooltip//images/AsyncToolTip/CJHBorder_CRCornu.gif" alt="" />';
result += '</td>';
result += '</tr>';
result += '<tr>';
result += '<td class="cjhBorder2BL2"></td>';
result += '<td class="cjhBorder2BC"></td>';
result += '<td class="cjhBorder2BR2"></td>';
result += '</tr>';
result += '</table>';
//alert(result.toString());
}
var container = document.getElementById(popupId);
container.innerHTML = result.toString();
}
//获取无素的位置作息(返回JSON)
CJB.AsyncTooltip.getAbsoluteLocation = function(element)
{
if ( arguments.length != 1 || element == null )
{
return null;
}
var elmt = element;
var offsetTop = elmt.offsetTop;
var offsetLeft = elmt.offsetLeft;
var offsetWidth = elmt.offsetWidth;
var offsetHeight = elmt.offsetHeight;
var scrollWidth = elmt.scrollWidth;//滚动条宽度
while( elmt = elmt.offsetParent )
{
// add this judge
if ( elmt.style.position == 'absolute' || elmt.style.position == 'relative'
|| ( elmt.style.overflow != 'visible' && elmt.style.overflow != '' ) )
{
break;
}
offsetTop += elmt.offsetTop;
offsetLeft += elmt.offsetLeft;
}
return { absoluteTop: offsetTop, absoluteLeft: offsetLeft,
offsetWidth: offsetWidth, offsetHeight: offsetHeight, scrollWidth: scrollWidth };
}
//获取正在加载的图片路径
CJB.AsyncTooltip.loadImagePath = function()
{
return '<img style="border:0;" src="'+CJB.AsyncTooltip.ApplictionPath()+'/script/Tooltip/images/AsyncToolTip/loading.gif" />';
}
//显示提示信息
CJB.AsyncTooltip.showTooltip = function(source, event, popupId, direction, offsetX, offsetY, async, formater, requestUrl)
{
rect = CJB.AsyncTooltip.getAbsoluteLocation(source);
//alert(rect.absoluteTop);
t = document.getElementById(popupId);
//alert(t.innerHTML);//测试,打开这里可以看到数据结构
t.style.top = rect.absoluteTop + offsetY + 'px';//-20表示上移20px量 例如:offsetY = -20
if(direction == 'right')
{
t.style.left = rect.absoluteLeft + rect.offsetWidth + offsetX + 'px';
}
else
{
//元素右边界坐标 = 可视宽度 - 元素左边界坐标 + 偏移值 (向左显示)
t.style.right = document.body.scrollWidth - rect.absoluteLeft + offsetX + 'px';
}
if (t.style.display == "none") t.style.display = "";
(window.event || event).cancelBubble=true;
//根据_requestUrl的URL获取请求的JSON对像,以供动态加载内容显示
CJB.AsyncTooltip.requestContent(requestUrl, source.id);
//获取弹出框容器对象,以用于把动态加载的内容加载到此容器中
var contentObj = document.getElementById(CJB.AsyncTooltip.getContentId(popupId));
if(async)
{
//异步读取JSON数据并进行格式化
var asyncText = eval(formater);
if(asyncText == null)
{
contentObj.innerHTML = CJB.AsyncTooltip.loadImagePath();
//等待一秒钟,以便数据加载完毕后,再去读取数据
// setTimeout(function(){
// asyncText = eval(formater);
// if(asyncText != null)
// contentObj.innerHTML = asyncText;
// else
// contentObj.innerHTML = "数据加载缓慢,请稍后再试....";
// },1000);
setTimeout(function(){
CJB.AsyncTooltip.parseFormater(formater, contentObj, 0);
},500);
}
else
{
contentObj.innerHTML = asyncText;
}
}
}
//隐藏提示信息
CJB.AsyncTooltip.hideTooltip = function(popupId)
{
var tar = document.getElementById(popupId);
tar.style.display = "none";
}
//阻止鼠标移动事件的冒泡
CJB.AsyncTooltip.mouseoverPanel = function(event)
{
(window.event || event).cancelBubble=true;
}
//循环解析Json数据
CJB.AsyncTooltip.parseFormater = function(formater, contentObj, i)
{
i++;
asyncText = eval(formater);
if(asyncText != null)
contentObj.innerHTML = asyncText;
else
if(i<10)
{
setTimeout(function(){
CJB.AsyncTooltip.parseFormater(formater, contentObj, i);
},500);
}
else
{
contentObj.innerHTML = "数据加载缓慢,请稍后再试....";
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -