You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
2.1 KiB
98 lines
2.1 KiB
14 years ago
|
/**
|
||
|
* JavaScript routines for Krumo
|
||
|
*
|
||
|
* @version $Id: krumo.js 22 2007-12-02 07:38:18Z Mrasnika $
|
||
|
* @link http://sourceforge.net/projects/krumo
|
||
|
*/
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
/**
|
||
|
* Krumo JS Class
|
||
|
*/
|
||
|
function krumo() {
|
||
|
}
|
||
|
|
||
|
// -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||
|
|
||
|
/**
|
||
|
* Add a CSS class to an HTML element
|
||
|
*
|
||
|
* @param HtmlElement el
|
||
|
* @param string className
|
||
|
* @return void
|
||
|
*/
|
||
|
krumo.reclass = function(el, className) {
|
||
|
if (el.className.indexOf(className) < 0) {
|
||
|
el.className += (' ' + className);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||
|
|
||
|
/**
|
||
|
* Remove a CSS class to an HTML element
|
||
|
*
|
||
|
* @param HtmlElement el
|
||
|
* @param string className
|
||
|
* @return void
|
||
|
*/
|
||
|
krumo.unclass = function(el, className) {
|
||
|
if (el.className.indexOf(className) > -1) {
|
||
|
el.className = el.className.replace(className, '');
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||
|
|
||
|
/**
|
||
|
* Toggle the nodes connected to an HTML element
|
||
|
*
|
||
|
* @param HtmlElement el
|
||
|
* @return void
|
||
|
*/
|
||
|
krumo.toggle = function(el) {
|
||
|
var ul = el.parentNode.getElementsByTagName('ul');
|
||
|
for (var i=0; i<ul.length; i++) {
|
||
|
if (ul[i].parentNode.parentNode == el.parentNode) {
|
||
|
ul[i].parentNode.style.display = (ul[i].parentNode.style.display == 'none')
|
||
|
? 'block'
|
||
|
: 'none';
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// toggle class
|
||
|
//
|
||
|
if (ul[0].parentNode.style.display == 'block') {
|
||
|
krumo.reclass(el, 'krumo-opened');
|
||
|
} else {
|
||
|
krumo.unclass(el, 'krumo-opened');
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||
|
|
||
|
/**
|
||
|
* Hover over an HTML element
|
||
|
*
|
||
|
* @param HtmlElement el
|
||
|
* @return void
|
||
|
*/
|
||
|
krumo.over = function(el) {
|
||
|
krumo.reclass(el, 'krumo-hover');
|
||
|
}
|
||
|
|
||
|
// -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||
|
|
||
|
/**
|
||
|
* Hover out an HTML element
|
||
|
*
|
||
|
* @param HtmlElement el
|
||
|
* @return void
|
||
|
*/
|
||
|
|
||
|
krumo.out = function(el) {
|
||
|
krumo.unclass(el, 'krumo-hover');
|
||
|
}
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|