Merge pull request #51 from chmduquesne/gh-pages

JS: Travail avec langue et reciproque[langue] plutot que des swap de variables
This commit is contained in:
Christophe-Marie Duquesne
2015-12-06 20:58:52 +01:00

View File

@@ -1,21 +1,25 @@
var reciproque = {'anglais': 'francais', 'francais': 'anglais'};
var embelli = {'francais': 'Français', 'anglais': 'Anglais'};
function changeDeSens(traductions) { function changeDeSens(traductions) {
var langue = $( "#mots" ).attr("data-langue"); var langue = $( "#mots" ).attr("data-langue");
var autre = {'anglais': 'francais', $( "#mots" ).attr("data-langue", reciproque[langue]);
'francais': 'anglais'};
$( "#mots" ).attr("data-langue", autre[langue]);
construitListe(traductions); construitListe(traductions);
} }
function metAJourLienChange(langue) { function metAJourLienChange(langue) {
var de = '<span class="mot-anglais">Anglais</span>'; var langueSource = langue;
var vers = '<span class="mot-francais">Français</span>'; var langueDestination = reciproque[langue];
var fleche = ' &rarr; '; $( "#lienChange" )
if (langue == 'francais') { .html(
var tmp = de; '<span class="mot-' + langueSource + '">'
de = vers; + embelli[langueSource]
vers = tmp; + '</span>'
} + ' &rarr; '
$( "#lienChange" ).html(de + fleche + vers); + '<span class="mot-' + langueDestination + '">'
+ embelli[langueDestination]
+ '</span>'
);
} }
function sansAccents(mot) { function sansAccents(mot) {
@@ -53,40 +57,44 @@ function construitListe(traductions) {
$( "#mots" ).html(""); $( "#mots" ).html("");
$( "#index" ).html(""); $( "#index" ).html("");
var lettre = ''; var l = '';
for (var i=0; i < traductions.length; i++) { for (var i=0; i < traductions.length; i++) {
var mot = traductions[i]; var mot = traductions[i];
var l = sansAccents(mot[langue]).charAt(0).toUpperCase(); var c = sansAccents(mot[langue]).charAt(0).toUpperCase();
if (l != lettre) { if (c != l) {
lettre = l; l = c;
$( "#index" ).append( $( "#index" ).append(
$("<a></a>") $("<a></a>")
.attr("href", "#" + lettre) .attr("href", "#" + l)
.html(lettre) .html(l)
); );
$( "#mots" ).append( $( "#mots" ).append(
$("<div></div>") $("<div></div>")
.attr("class", "groupe-lettre") .attr("class", "groupe-lettre")
.append($("<a></a>").attr("name", lettre)) .append($("<a></a>").attr("name", l))
.append($("<h3></h3>").html(lettre)) .append($("<h3></h3>").html(l))
); );
} }
var cle = '<span class="mot-anglais">' + mot.anglais + '</span>'; var langueSource = langue;
var val = '<span class="mot-francais">' + mot.francais + '</span>'; var langueDestination = reciproque[langue];
if (langue == "francais") {
var tmp = cle;
cle = val;
val = tmp;
}
$( "#mots" ) $( "#mots" )
.children() .children()
.last() .last()
.append( .append(
$("<div></div>") $("<div></div>")
.attr("class", "definition") .attr("class", "definition")
.html('· ' + cle + ' : ' + val) .html(
'· '
+ '<span class="mot-' + langueSource + '">'
+ mot[langueSource]
+ '</span>'
+ ' : '
+ '<span class="mot-' + langueDestination + '">'
+ mot[langueDestination]
+ '</span>'
)
); );
} }
} }