Tag的自定义类

80酷酷网    80kuku.com

  

[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

CTagPages
属性
Tagpages  标签数组

方法

[n]   检索标签
Add   增加标签页
Delete  删除标签页
Update  更新标签页
Insert  插入标签页
Clear  清空标签页
SetTag  设置一个标签被选中,参数可以是TAG的ID也可以是序号
GetTag  得到被选中的TAG对象

CTPage
属性
tagId     标签ID    
tagCaption 标签上显示的文字
tagContId  标签内容ID

// 使用方法
//      1.var tagpages = new CTagPages("maintag");建立一个TagPages对象,参数为这个标签页集合的ID,区分其它标签页
//      2.var tagpage = new CTPage("files","文件","content6");建立一个标签页,参数1指这个标签页的ID,参数2标签文字,
//                      参数3与此标签相对的DIV,如果指定一个文档中不存在的DIV则系统会自动创建一个DIV;
//      3.tagpages.add(tagpage);使用ADD方法增加把标签增加到标签页中.
//      4.document.all.tag.innerHTML = tagpages;把标签页增加到文档中.
//      5.tagpages.setTag(1)或tagpages.setTag("files");设置默认选中的标签页,参数可以使用[数字]和[ID名称]两种方式
//     

//公共变量
var currentTag = null;
var currentDiv = null;

//////////////////////////////////////////////////////////////////
////////////////////////////////
//单个标签对象
function CTPage(tagId, tagCaption, tagDiv){
    this.checkDiv(tagDiv);
    this.id = tagId;
    this.caption = tagCaption;
    this.divid = tagDiv;
    this.selected = false;
}

function tagToString(){
    var str = "<li class=\"";
        str += this.selected?"focus":"blur";
        str += "\" id=\"" + this.id +"\"" +
              " divid=\"" + this.divid +"\"" +
              " onclick=\"secBoard(this)\"" +
              " >"+ this.caption + "</li>";
    return str;
}

function CheckDiv(divname){
    var tdiv = document.getElementById(divname);
    if(!tdiv){
        tdiv = document.createElement("DIV");
        tdiv.id = divname;
        tdiv.className = "content";
        tdiv.innerHTML = "新的";
        document.body.appendChild(tdiv);
    }
    tdiv.style.display = "none";
}
CTPage.prototype.checkDiv = CheckDiv;
CTPage.prototype.toString = tagToString;
////////////////////////////////////////////////////////////////
//////////////////////////////
//标签集合对象

function CTagPages(id){
    this.id = id;
    this.tagpages = new Array();
}

function Add(objtg){
    this.tagpages[this.tagpages.length] = objtg;
}

function pageToString(){
    var str="<ul id=\""+this.id+"\" class=\"tagpage\">";
    for(var i=0; i<this.tagpages.length; i++){
        str += this.tagpages[i];
    }
    str +="</ul>";
   
    return str;
}

function Index(n){
    if(n>this.tagpages.length-1 || n<0){
        return;
    }else{
        return this.tagpages[n];
    }
}

function SetTag(n){
    var curtag = null;
    if(typeof(n)=="string"){
        curtag = document.getElementById(n);
    }else{
        var curtag = document.getElementById(this.id).childNodes[n];
    }
    if(curtag){
        if(currentTag && currentDiv){
            currentTag.className = "blur";
            currentDiv.style.display = "none";
        }
        curtag.className = "focus";
        currentTag = curtag;
        var curDiv = document.getElementById(curtag.divid);
        curDiv.style.display = "block";
        currentDiv = curDiv;
    }
}

CTagPages.prototype.setTag = SetTag;
CTagPages.prototype.index = Index;
CTagPages.prototype.add = Add;
CTagPages.prototype.toString = pageToString;

////////////////////////////////////////////////////////////////
/////////////////////////////////
//通用函数

function secBoard(obj)
{
    //var obj = event.srcElement;
    currentTag.className = "blur";
    currentTag = obj;
    currentTag.className = "focus";
   
    currentDiv.style.display = "none";
    currentDiv = document.getElementById(obj.divid);
    currentDiv.style.display = "block";
}



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: