⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jsutils.js

📁 这是我用QT和TTS写的一个电话本管理系统
💻 JS
📖 第 1 页 / 共 2 页
字号:
    
    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 + -