[pmwiki-users] Including an Accordion widget
Hans
design5 at softflow.co.uk
Tue Feb 15 17:05:23 CST 2011
Harald, I need to correct myself once again!
The script failed in IE8 (tested only in that version)
because of me using getElementsByClassName().
Here is a version avoiding use of that.
Tested with Firefox, IE8 and Opera.
I also added your last changes for the <a> to the markup definition.
===========================================================
<?php if (!defined('PmWiki')) exit();
$HTMLHeaderFmt['accordion'] = "
<script>
function Accordion(n) {
d = HideDivs(\"accordion\");
d[n-1].style.display = \"block\";
};
</script>
";
$HTMLFooterFmt['accordion'] = "
<script>
function HideDivs(obj) {
var e = document.getElementById(obj);
if(e) {
var ee = e.getElementsByTagName(\"DIV\");
var dd = new Array();
for (var i = 0; i < ee.length; i++) {
if ( ee[i].className == \"acc\") {
ee[i].style.display = \"none\";
dd.push(ee[i]);
}
}
return dd;
} else return;
};
//init
window.onload = HideDivs(\"accordion\");
</script>
";
Markup('[[##','<[[','/(?>\\[\\[##([0-9]*))\\s+(.*?)\\]\\]/',
'<a class="acclink" href="#accordion" onclick="Accordion(\'$1\')">$2</a>');
=======================================================================
=
~Hans
More information about the pmwiki-users
mailing list