Käyttäjä:Str4nd/tabbedpages.js
Siirry navigaatioon
Siirry hakuun
Huomautus: Selaimen välimuisti pitää tyhjentää asetusten tallentamisen jälkeen, jotta muutokset tulisivat voimaan.
- Firefox ja Safari: Napsauta Shift-näppäin pohjassa Päivitä, tai paina Ctrl-F5 tai Ctrl-R (⌘-R Macilla)
- Google Chrome: Paina Ctrl-Shift-R (⌘-Shift-R Macilla)
- Internet Explorer ja Edge: Napsauta Ctrl-näppäin pohjassa Päivitä tai paina Ctrl-F5
- Opera: Paina Ctrl-F5.
function tabbedpages() {
var tbform = document.getElementById('tabbedpages');
if (!tbform || !document.createElement) {
return;
}
if (tbform.nodeName.toLowerCase() == 'a') {
return; // Occasional IE problem
}
tbform.className = tbform.className + 'jstbs';
var sections = [];
var children = tbform.childNodes;
var seci = 0;
for (var i = 0; i < children.length; i++) {
if (children[i].nodeName.toLowerCase() == 'div') {
children[i].id = 'tbsection-' + seci;
children[i].className = 'tbsection';
if (is_opera || is_khtml) {
children[i].className = 'tbsection operatbsection';
}
var ps = children[i].getElementsByTagName('p');
sections[seci] = {};
ps[0].className = 'mainP';
if (ps[0] && ps[0].firstChild.nodeValue) {
sections[seci].text = ps[0].firstChild.nodeValue;
} else {
sections[seci].text = '# ' + seci;
}
sections[seci].secid = children[i].id;
sections[seci].css = ps[0].getAttribute('style');
seci++;
if (sections.length != 1) {
children[i].style.display = 'none';
} else {
var selectedid = children[i].id;
}
}
}
var toc = document.createElement('ul');
toc.id = 'tbtoc';
toc.selectedid = selectedid;
for (i = 0; i < sections.length; i++) {
var li = document.createElement('li');
li.setAttribute('style', sections[i].css);
li.style.display = 'block';
if (i === 0) {
li.className = 'selected';
}
var a = document.createElement('a');
a.href = '#' + sections[i].secid;
a.onmousedown = a.onclick = uncoverdiv;
a.appendChild(document.createTextNode(sections[i].text));
a.secid = sections[i].secid;
li.appendChild(a);
toc.appendChild(li);
}
tbform.parentNode.insertBefore(toc, tbform.parentNode.childNodes[0]);
}
function uncoverdiv() {
var oldsecid = this.parentNode.parentNode.selectedid;
var newsec = document.getElementById(this.secid);
if (oldsecid != this.secid) {
var ul = document.getElementById('tbtoc');
document.getElementById(oldsecid).style.display = 'none';
newsec.style.display = 'block';
ul.selectedid = this.secid;
var lis = ul.getElementsByTagName('li');
for (var i = 0; i< lis.length; i++) {
lis[i].className = '';
}
this.parentNode.className = 'selected';
}
return false;
}
hookEvent("load", tabbedpages);