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标签意味着什么?演示显示了我正在做什么