mirror of
https://github.com/soulaklabs/bitoduc.fr.git
synced 2025-12-08 17:13:23 +00:00
Add a button to switch between EN-FR/FR-EN
This commit is contained in:
@@ -1,3 +1,29 @@
|
||||
function trouveElement(id)
|
||||
{
|
||||
return document.getElementById(id);
|
||||
}
|
||||
|
||||
function obtenirLAttribut(element, attribut)
|
||||
{
|
||||
return element.getAttribute(attribut);
|
||||
}
|
||||
|
||||
function definirLAttribut(element, attribut, valeur)
|
||||
{
|
||||
return element.setAttribute(attribut, valeur);
|
||||
}
|
||||
|
||||
function changeDeSens(window)
|
||||
{
|
||||
var element = trouveElement('mots')
|
||||
var langueDesClefsActuelle = obtenirLAttribut(element, 'data-langue');
|
||||
var autre = {'anglais': 'francais',
|
||||
'francais': 'anglais'};
|
||||
var langueDesClefsNouvelle = autre[langueDesClefsActuelle];
|
||||
definirLAttribut(element, 'data-langue', langueDesClefsNouvelle);
|
||||
construitListe(window)
|
||||
}
|
||||
|
||||
function construitListe(window)
|
||||
{
|
||||
var document = window.document;
|
||||
@@ -78,11 +104,6 @@ function construitListe(window)
|
||||
{anglais: 'tweet', francais: 'gazouilli'}
|
||||
];
|
||||
|
||||
function trouveElement(id)
|
||||
{
|
||||
return document.getElementById(id);
|
||||
}
|
||||
|
||||
function cache(e)
|
||||
{
|
||||
e.style.visibility = 'hidden';
|
||||
@@ -96,10 +117,10 @@ function construitListe(window)
|
||||
var tous_les_mots = vrais_mots.concat(faux_mots);
|
||||
|
||||
var i;
|
||||
var noeudFRversANG = trouveElement('francais_vers_anglais');
|
||||
var noeudANGversFR = trouveElement('anglais_vers_francais');
|
||||
var lettresFRversANG = new Array(26);
|
||||
var lettresANGversFR = new Array(26);
|
||||
var lien = trouveElement('lienChange');
|
||||
var mots = trouveElement('mots');
|
||||
var langueDesClefs = obtenirLAttribut(mots, 'data-langue');
|
||||
var lettres = new Array(26);
|
||||
var noeud;
|
||||
|
||||
function enleveLesAccents(s) {
|
||||
@@ -107,24 +128,28 @@ function construitListe(window)
|
||||
return s;
|
||||
}
|
||||
|
||||
var lienFR = '<span class="mot-francais">Français</span>';
|
||||
var lienANG = '<span class="mot-anglais">Anglais</span>';
|
||||
var lienSource = lienFR;
|
||||
var lienDestination = lienANG;
|
||||
if (langueDesClefs === 'anglais') {
|
||||
lienSource = lienANG;
|
||||
lienDestination = lienFR;
|
||||
}
|
||||
lien.innerHTML = lienSource + ' → ' + lienDestination;
|
||||
|
||||
mots.innerHTML = '';
|
||||
|
||||
|
||||
for (i = 0; i < 26; ++i) {
|
||||
|
||||
var lettre = String.fromCharCode(65 + i);
|
||||
lettresFRversANG[i] = noeud = document.creeElement('div');
|
||||
|
||||
lettres[i] = noeud = document.creeElement('div');
|
||||
noeud.className = 'groupe-lettre';
|
||||
noeud.enfants = 0;
|
||||
|
||||
var titre = document.creeElement('h3');
|
||||
titre.innerHTML = lettre;
|
||||
noeud.appendChild(titre);
|
||||
|
||||
|
||||
lettresANGversFR[i] = noeud = document.creeElement('div');
|
||||
noeud.className = 'groupe-lettre';
|
||||
noeud.enfants = 0;
|
||||
titre = document.creeElement('h3');
|
||||
titre.innerHTML = lettre;
|
||||
noeud.appendChild(titre);
|
||||
}
|
||||
|
||||
@@ -144,31 +169,27 @@ function construitListe(window)
|
||||
noeud = document.createElement('div');
|
||||
noeud.className = 'definition';
|
||||
|
||||
noeud.innerHTML = '· <span class="mot-anglais"> ' + mot.anglais + ' </span> : '
|
||||
+ '<span class="mot-francais">' + mot.francais + "</span>";
|
||||
var indice = indiceDeLaPremiereLettre(mot.anglais);
|
||||
var spanAnglais = '<span class="mot-anglais"> ' + mot.anglais + ' </span>';
|
||||
var spanFrancais = '<span class="mot-francais">' + mot.francais + '</span>';
|
||||
|
||||
lettresANGversFR[indice].appendChild(noeud);
|
||||
lettresANGversFR[indice].enfants++;
|
||||
var spanClef = spanFrancais;
|
||||
var spanValeur = spanAnglais;
|
||||
var indice = indiceDeLaPremiereLettre(mot.francais);
|
||||
if (langueDesClefs === 'anglais') {
|
||||
spanClef = spanAnglais;
|
||||
spanValeur = spanFrancais;
|
||||
indice = indiceDeLaPremiereLettre(mot.anglais);
|
||||
}
|
||||
|
||||
noeud = document.createElement('div');
|
||||
noeud.className = 'definition';
|
||||
noeud.innerHTML = mot.francais + ' → ' + mot.anglais;
|
||||
noeud.innerHTML = '· <span class="mot-francais"> ' + mot.francais + '</span> : '
|
||||
+ '<span class="mot-anglais">' + mot.anglais + ' </span>';
|
||||
noeud.innerHTML = '· ' + spanClef + ' : ' + spanValeur;
|
||||
|
||||
indice = indiceDeLaPremiereLettre(mot.francais);
|
||||
lettresFRversANG[indice].appendChild(noeud);
|
||||
lettresFRversANG[indice].enfants++;
|
||||
lettres[indice].appendChild(noeud);
|
||||
lettres[indice].enfants++;
|
||||
}
|
||||
|
||||
for (i = 0; i < 26; ++i) {
|
||||
noeud = lettresFRversANG[i];
|
||||
noeud = lettres[i];
|
||||
if (noeud.enfants > 1)
|
||||
noeudFRversANG.appendChild(noeud);
|
||||
|
||||
noeud = lettresANGversFR[i];
|
||||
if (noeud.enfants > 1)
|
||||
noeudANGversFR.appendChild(noeud);
|
||||
mots.appendChild(noeud);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,16 +16,16 @@
|
||||
|
||||
<div id="intro">
|
||||
De nos jours on rencontre de nombreux termes techniques en anglais : « megabyte », « URL » ou encore « plugin ».<br/><br/> Pourtant, ces nouveaux mots ont souvent un équivalent francais qu'il conviendrait d'utiliser. En voici une liste bien pratique. Bonne lecture !
|
||||
|
||||
<br/><br/>
|
||||
<div>
|
||||
<a id="lienChange" href="#" onclick="changeDeSens(window)"></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="anglais_vers_francais">
|
||||
<h2>Lexique anglais-français</h2>
|
||||
<div id="mots" data-langue="anglais">
|
||||
</div>
|
||||
|
||||
<div id="francais_vers_anglais">
|
||||
<h2>Lexique français-anglais</h2>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
construitListe(window);
|
||||
|
||||
Reference in New Issue
Block a user