Javascript可扩展标头无法正常工作

Javascript可扩展标头无法正常工作,javascript,html,Javascript,Html,我正在使用一段Javascript,它允许用户在我的HTML文档中展开h3标记。但是,当我第一次刷新页面时,页眉收缩,然后当我第二次刷新页面时,页眉再次展开时,它工作得非常好 我希望它一直保持扩展,而不是收缩,但我不确定我可能需要对代码进行哪些更改: var enablepersist = "on" //Enable saving state of content structure using session cookies? (on/off) var collapseprevious = "

我正在使用一段
Javascript
,它允许用户在我的HTML文档中展开
h3
标记。但是,当我第一次刷新页面时,页眉收缩,然后当我第二次刷新页面时,页眉再次展开时,它工作得非常好

我希望它一直保持扩展,而不是收缩,但我不确定我可能需要对代码进行哪些更改:

var enablepersist = "on" //Enable saving state of content structure using session cookies? (on/off)
var collapseprevious = "yes" //Collapse previously open content when opening present? (yes/no)

if (document.getElementById) {
    document.write('<style type="text/css">')
    document.write('.switchcontent{display:none;}')
    document.write('</style>')
}

function getElementbyClass(classname) {
    ccollect = new Array()
    var inc = 0
    var alltags = document.all ? document.all : document.getElementsByTagName("*")
    for (i = 0; i < alltags.length; i++) {
        if (alltags[i].className == classname)
            ccollect[inc++] = alltags[i]
    }
}

function contractcontent(omit) {
    var inc = 0
    while (ccollect[inc]) {
        if (ccollect[inc].id != omit)
            ccollect[inc].style.display = "none"
        inc++
    }
}

function expandcontent(cid) {
    if (typeof ccollect != "undefined") {
        if (collapseprevious == "yes")
            contractcontent(cid)
        document.getElementById(cid).style.display = (document.getElementById(cid).style.display != "block") ? "block" : "none"
    }
}

function revivecontent() {
    contractcontent("omitnothing")
    selectedItem = getselectedItem()
    selectedComponents = selectedItem.split("|")
    for (i = 0; i < selectedComponents.length - 1; i++)
        document.getElementById(selectedComponents[i]).style.display = "block"
}

function get_cookie(Name) {
    var search = Name + "="
    var returnvalue = "";
    if (document.cookie.length > 0) {
        offset = document.cookie.indexOf(search)
        if (offset != -1) {
            offset += search.length
            end = document.cookie.indexOf(";", offset);
            if (end == -1) end = document.cookie.length;
            returnvalue = unescape(document.cookie.substring(offset, end))
        }
    }
    return returnvalue;
}

function getselectedItem() {
    if (get_cookie(window.location.pathname) != "") {
        selectedItem = get_cookie(window.location.pathname)
        return selectedItem
    } else
        return ""
}

function saveswitchstate() {
    var inc = 0,
        selectedItem = ""
    while (ccollect[inc]) {
        if (ccollect[inc].style.display == "block")
            selectedItem += ccollect[inc].id + "|"
        inc++
    }

    document.cookie = window.location.pathname + "=" + selectedItem
}

function do_onload() {
    uniqueidn = window.location.pathname + "firsttimeload"
    getElementbyClass("switchcontent")
    if (enablepersist == "on" && typeof ccollect != "undefined") {
        document.cookie = (get_cookie(uniqueidn) == "") ? uniqueidn + "=1" : uniqueidn + "=0"
        firsttimeload = (get_cookie(uniqueidn) == 1) ? 1 : 0 //check if this is 1st page load
        if (!firsttimeload)
            revivecontent()
    }
}


if (window.addEventListener)
    window.addEventListener("load", do_onload, false)
else if (window.attachEvent)
    window.attachEvent("onload", do_onload)
else if (document.getElementById)
    window.onload = do_onload

if (enablepersist == "on" && document.getElementById)
    window.onunload = saveswitchstate
我应该指出,当用户第一次访问页面时,页眉已经展开。我通过从
body
标记中调用函数来实现这一点

<body onLoad="expandcontent('sc1')">

代码如下:

var enablepersist = "on" //Enable saving state of content structure using session cookies? (on/off)
var collapseprevious = "yes" //Collapse previously open content when opening present? (yes/no)

if (document.getElementById) {
    document.write('<style type="text/css">')
    document.write('.switchcontent{display:none;}')
    document.write('</style>')
}

function getElementbyClass(classname) {
    ccollect = new Array()
    var inc = 0
    var alltags = document.all ? document.all : document.getElementsByTagName("*")
    for (i = 0; i < alltags.length; i++) {
        if (alltags[i].className == classname)
            ccollect[inc++] = alltags[i]
    }
}

function contractcontent(omit) {
    var inc = 0
    while (ccollect[inc]) {
        if (ccollect[inc].id != omit)
            ccollect[inc].style.display = "none"
        inc++
    }
}

function expandcontent(cid) {
    if (typeof ccollect != "undefined") {
        if (collapseprevious == "yes")
            contractcontent(cid)
        document.getElementById(cid).style.display = (document.getElementById(cid).style.display != "block") ? "block" : "none"
    }
}

function revivecontent() {
    contractcontent("omitnothing")
    selectedItem = getselectedItem()
    selectedComponents = selectedItem.split("|")
    for (i = 0; i < selectedComponents.length - 1; i++)
        document.getElementById(selectedComponents[i]).style.display = "block"
}

function get_cookie(Name) {
    var search = Name + "="
    var returnvalue = "";
    if (document.cookie.length > 0) {
        offset = document.cookie.indexOf(search)
        if (offset != -1) {
            offset += search.length
            end = document.cookie.indexOf(";", offset);
            if (end == -1) end = document.cookie.length;
            returnvalue = unescape(document.cookie.substring(offset, end))
        }
    }
    return returnvalue;
}

function getselectedItem() {
    if (get_cookie(window.location.pathname) != "") {
        selectedItem = get_cookie(window.location.pathname)
        return selectedItem
    } else
        return ""
}

function saveswitchstate() {
    var inc = 0,
        selectedItem = ""
    while (ccollect[inc]) {
        if (ccollect[inc].style.display == "block")
            selectedItem += ccollect[inc].id + "|"
        inc++
    }

    document.cookie = window.location.pathname + "=" + selectedItem
}

function do_onload() {
    uniqueidn = window.location.pathname + "firsttimeload"
    getElementbyClass("switchcontent")
    if (enablepersist == "on" && typeof ccollect != "undefined") {
        document.cookie = (get_cookie(uniqueidn) == "") ? uniqueidn + "=1" : uniqueidn + "=0"
        firsttimeload = (get_cookie(uniqueidn) == 1) ? 1 : 0 //check if this is 1st page load
        if (!firsttimeload)
            revivecontent()
    }
}


if (window.addEventListener)
    window.addEventListener("load", do_onload, false)
else if (window.attachEvent)
    window.attachEvent("onload", do_onload)
else if (document.getElementById)
    window.onload = do_onload

if (enablepersist == "on" && document.getElementById)
    window.onunload = saveswitchstate
var enablepersist=“on”//是否使用会话cookie启用内容结构的保存状态?(开/关)
var collapseprovous=“yes”//打开当前内容时是否折叠以前打开的内容?(是/否)
if(document.getElementById){
文件。写入(“”)
document.write('.switchcontent{display:none;}'))
文件。写入(“”)
}
函数getElementbyClass(类名){
ccollect=新数组()
var inc=0
var alltags=document.all?document.all:document.getElementsByTagName(“*”)
对于(i=0;i0){
偏移量=document.cookie.indexOf(搜索)
如果(偏移量!=-1){
偏移量+=搜索长度
end=document.cookie.indexOf(“;”,offset);
如果(end==-1)end=document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset,end))
}
}
返回值;
}
函数getselectedItem(){
if(获取cookie(window.location.pathname)!=“”){
selectedItem=get\u cookie(window.location.pathname)
返回selectedItem
}否则
返回“”
}
函数saveswitchstate(){
var inc=0,
selectedItem=“”
while(ccollect[inc]){
if(ccollect[inc].style.display==“块”)
selectedItem+=ccollect[inc].id+“|”
公司++
}
document.cookie=window.location.pathname+“=”+selectedItem
}
函数do_onload(){
uniqueidn=window.location.pathname+“firsttimeload”
getElementbyClass(“切换内容”)
if(enablepsist==“on”&&typeof ccollect!=“undefined”){
document.cookie=(get_cookie(uniqueidn)=“”)?uniqueidn+“=1”:uniqueidn+“=0”
firsttimeload=(get_cookie(uniqueidn)==1)?1:0//检查这是否是第一次页面加载
如果(!firsttimeload)
复兴内容
}
}
if(window.addEventListener)
window.addEventListener(“加载”,do_onload,false)
else if(窗口附件)
window.attachEvent(“onload”,do_onload)
else if(document.getElementById)
window.onload=do\u onload
if(enablepersist==“on”&&document.getElementById)
window.onunload=saveswitchstate

扩展H3标签意味着什么?演示显示了我正在做什么