Dictionary in a Webpage
Friday, July 3, 2015
I wanted to create in a webpage with text that had its meaning or translation embedded within, and a means to display them. Click on any of the underlined terms for a demo.
For each pair
of key
and its value
, create markup as shown below
<span class='pair'
data-key=''
data-val='bring something into existence'>create</span>
Add the following JavaScript for implementing the action
var translateThis = function() {
if (this.dataset.key === '') {
this.dataset.key = this.innerHTML;
this.innerHTML = this.dataset.val;
}
else {
var tmp = this.dataset.key;
this.dataset.key = this.innerHTML;
this.innerHTML = tmp;
}
}
window.onload = function() {
var pairs = document.getElementsByClassName('pair');
for (var i=0, j=pairs.length; i<j; i++) {
pairs[i].onclick = translateThis;
}
}
Optionally, style the term pairs
.pair {
border-bottom: 1px dotted;
cursor: pointer;
}
et voilà !