Cristina Cochior
4 years ago
2 changed files with 98 additions and 105 deletions
@ -0,0 +1,96 @@ |
|||||
|
$(document).ready(function() { |
||||
|
// function to extract the parameters from the url. once we have them we can give them the class 'clicked'
|
||||
|
function getAllUrlParams(url) { |
||||
|
// get query string from url (optional) or window
|
||||
|
var queryString = url ? url.split('?')[1] : window.location.search.slice(1); |
||||
|
// we'll store the parameters here
|
||||
|
var obj = {}; |
||||
|
// if query string exists
|
||||
|
if (queryString) { |
||||
|
// stuff after # is not part of query string, so get rid of it
|
||||
|
queryString = queryString.split('#')[0]; |
||||
|
// split our query string into its component parts
|
||||
|
var arr = queryString.split('&'); |
||||
|
for (var i = 0; i < arr.length; i++) { |
||||
|
// separate the keys and the values
|
||||
|
var a = arr[i].split('='); |
||||
|
// set parameter name and value (use 'true' if empty)
|
||||
|
var paramName = a[0]; |
||||
|
var paramValue = typeof (a[1]) === 'undefined' ? true : a[1]; |
||||
|
// (optional) keep case consistent
|
||||
|
// paramName = paramName.toLowerCase();
|
||||
|
// if (typeof paramValue === 'string') paramValue = paramValue.toLowerCase();
|
||||
|
// if the paramName ends with square brackets, e.g. colors[] or colors[2]
|
||||
|
if (paramName.match(/\[(\d+)?\]$/)) { |
||||
|
// create key if it doesn't exist
|
||||
|
var key = paramName.replace(/\[(\d+)?\]/, ''); |
||||
|
if (!obj[key]) obj[key] = []; |
||||
|
// if it's an indexed array e.g. colors[2]
|
||||
|
if (paramName.match(/\[\d+\]$/)) { |
||||
|
// get the index value and add the entry at the appropriate position
|
||||
|
var index = /\[(\d+)\]/.exec(paramName)[1]; |
||||
|
obj[key][index] = paramValue; |
||||
|
} else { |
||||
|
// otherwise add the value to the end of the array
|
||||
|
obj[key].push(paramValue); |
||||
|
} |
||||
|
} else { |
||||
|
// we're dealing with a string
|
||||
|
if (!obj[paramName]) { |
||||
|
// if it doesn't exist, create property
|
||||
|
obj[paramName] = paramValue; |
||||
|
} else if (obj[paramName] && typeof obj[paramName] === 'string'){ |
||||
|
// if property does exist and it's a string, convert it to an array
|
||||
|
obj[paramName] = [obj[paramName]]; |
||||
|
obj[paramName].push(paramValue); |
||||
|
} else { |
||||
|
// otherwise add the property
|
||||
|
obj[paramName].push(paramValue); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
return obj; |
||||
|
}; |
||||
|
|
||||
|
|
||||
|
var methodList = getAllUrlParams().method; |
||||
|
var libList = getAllUrlParams().librarian; |
||||
|
|
||||
|
if ( (typeof methodList === 'undefined') && (typeof libList === 'undefined')) { |
||||
|
} else { |
||||
|
|
||||
|
|
||||
|
if (typeof libList !== 'undefined') { |
||||
|
if (Array.isArray(libList)===false) { |
||||
|
var search_id0 = libList; |
||||
|
var element0 = document.getElementById(search_id0); |
||||
|
element0.classList.add("clicked"); |
||||
|
// alert(search_id0);
|
||||
|
|
||||
|
} else { |
||||
|
for (i=0; i < libList.length ; i++) { |
||||
|
var search_id = libList[i]; |
||||
|
var element = document.getElementById(search_id); |
||||
|
element.classList.add("clicked"); |
||||
|
// alert(i);
|
||||
|
} |
||||
|
}; |
||||
|
}; |
||||
|
|
||||
|
if (typeof methodList !== 'undefined') { |
||||
|
if (Array.isArray(methodList)===false) { // is not array
|
||||
|
var search_meth0 = methodList; |
||||
|
var elementy0 = document.getElementById(search_meth0); |
||||
|
elementy0.classList.add("methodclicked"); |
||||
|
} else { // is array
|
||||
|
for (y=0; y < methodList.length ; y++) { |
||||
|
var search_meth = methodList[y]; |
||||
|
var elementy = document.getElementById(search_meth); |
||||
|
elementy.classList.add("methodclicked"); |
||||
|
} |
||||
|
}; |
||||
|
}; |
||||
|
|
||||
|
}; |
||||
|
}); |
Loading…
Reference in new issue