Adding functions to manage dom element class names. Use OpenLayers.Element.hasClass, addClass, removeClass, toggleClass for css class name management. r=pagameba,me (closes #1607)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7579 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -123,6 +123,86 @@ OpenLayers.Element = {
|
||||
return {width: originalWidth, height: originalHeight};
|
||||
},
|
||||
|
||||
/**
|
||||
* Function: hasClass
|
||||
* Tests if an element has the given CSS class name.
|
||||
*
|
||||
* Parameters:
|
||||
* element - {DOMElement} A DOM element node.
|
||||
* name - {String} The CSS class name to search for.
|
||||
*
|
||||
* Returns:
|
||||
* {Boolean} The element has the given class name.
|
||||
*/
|
||||
hasClass: function(element, name) {
|
||||
var names = element.className;
|
||||
return (!!names && new RegExp("(^|\\s)" + name + "(\\s|$)").test(names));
|
||||
},
|
||||
|
||||
/**
|
||||
* Function: addClass
|
||||
* Add a CSS class name to an element. Safe where element already has
|
||||
* the class name.
|
||||
*
|
||||
* Parameters:
|
||||
* element - {DOMElement} A DOM element node.
|
||||
* name - {String} The CSS class name to add.
|
||||
*
|
||||
* Returns:
|
||||
* {DOMElement} The element.
|
||||
*/
|
||||
addClass: function(element, name) {
|
||||
if(!OpenLayers.Element.hasClass(element, name)) {
|
||||
element.className += (element.className ? " " : "") + name;
|
||||
}
|
||||
return element;
|
||||
},
|
||||
|
||||
/**
|
||||
* Function: removeClass
|
||||
* Remove a CSS class name from an element. Safe where element does not
|
||||
* have the class name.
|
||||
*
|
||||
* Parameters:
|
||||
* element - {DOMElement} A DOM element node.
|
||||
* name - {String} The CSS class name to remove.
|
||||
*
|
||||
* Returns:
|
||||
* {DOMElement} The element.
|
||||
*/
|
||||
removeClass: function(element, name) {
|
||||
var names = element.className;
|
||||
if(names) {
|
||||
element.className = OpenLayers.String.trim(
|
||||
names.replace(
|
||||
new RegExp("(^|\\s+)" + name + "(\\s+|$)"), " "
|
||||
)
|
||||
);
|
||||
}
|
||||
return element;
|
||||
},
|
||||
|
||||
/**
|
||||
* Function: toggleClass
|
||||
* Remove a CSS class name from an element if it exists. Add the class name
|
||||
* if it doesn't exist.
|
||||
*
|
||||
* Parameters:
|
||||
* element - {DOMElement} A DOM element node.
|
||||
* name - {String} The CSS class name to toggle.
|
||||
*
|
||||
* Returns:
|
||||
* {DOMElement} The element.
|
||||
*/
|
||||
toggleClass: function(element, name) {
|
||||
if(OpenLayers.Element.hasClass(element, name)) {
|
||||
OpenLayers.Element.removeClass(element, name);
|
||||
} else {
|
||||
OpenLayers.Element.addClass(element, name);
|
||||
}
|
||||
return element;
|
||||
},
|
||||
|
||||
/**
|
||||
* APIFunction: getStyle
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user