https://github.com/F1000Research/gfdnet
Tip revision: 9abbaef46358f9c20d493c452fdbc5d7703b2a7b authored by Juanjo Diaz on 16 June 2014, 17:51:37 UTC
Fix link
Fix link
Tip revision: 9abbaef
main.js
document.onreadystatechange = function() {
var stepTittles = document.querySelectorAll('[id^=step]');
for (var i = 0; i < stepTittles.length; i++) {
var stepTittle = stepTittles[i];
addClass(stepTittle.parentNode.getElementsByClassName(stepTittle.id)[0], 'closed');
stepTittle.addEventListener("click",toggleStep);
}
var dropDownButtons = document.getElementsByClassName('download');
for (var i = 0; i < dropDownButtons.length; i++) {
var dropDownButton = dropDownButtons[i];
dropDownButton.addEventListener("click",toggleDropDownList);
}
}
function toggleStep(){
var objToOpen = this.parentNode.getElementsByClassName(this.id)[0];
if(hasClass(objToOpen, "closed")){
removeClass(objToOpen,'closed');
addClass(objToOpen, "open");
} else {
removeClass(objToOpen, 'open');
addClass(objToOpen, 'closed');
}
};
function toggleDropDownList(){
var dropDownList = this.parentNode.parentNode.getElementsByClassName('dropDownList')[0];
if(hasClass(dropDownList, 'closed')){
removeClass(dropDownList,'closed');
addClass(dropDownList, "open");
} else {
removeClass(dropDownList, 'open');
addClass(dropDownList, 'closed');
}
};
function hasClass(element, klass) {
var classNames = element.className.split(' ');
for (var i = 0; i < classNames.length; i++) {
if (classNames[i].toLowerCase() == klass.toLowerCase()) {
return true;
}
}
return false;
}
function addClass(element, klass){
if (!hasClass(element, klass))
element.className += ' ' + klass
}
function removeClass(element, klass){
element.className = element.className.replace(klass, '').trim();
}