Difference between revisions of "MediaWiki:Common.js"
Mscottmoore (talk | contribs) m (Fix for playing pinyin table audio) |
Mscottmoore (talk | contribs) m (testing pinyin table audio) |
||
Line 23: | Line 23: | ||
}).click( function() { | }).click( function() { | ||
if ($(this).children('div.table-pinyin').length) { | if ($(this).children('div.table-pinyin').length) { | ||
− | var | + | var tones="1234"; //always use tone 1 for now |
− | |||
var $player = $('#pinyin-table-audio'); | var $player = $('#pinyin-table-audio'); | ||
$player.empty(); | $player.empty(); | ||
− | $player.append("<source src=\"" + sound_url + "\" type=\"audio/mpeg\"></source>") | + | $for (var i=0; i<tones.length; i++) { |
− | + | var sound_url = "http://resources.allsetlearning.com/pronwiki/resources/pinyin-audio/" + $(this).attr('id') + tones[i] + ".mp3" | |
− | + | $player.append("<source src=\"" + sound_url + "\" type=\"audio/mpeg\"></source>") | |
− | + | $player[0].pause(); | |
+ | $player[i].load(); | ||
+ | $player[i].play(); | ||
+ | }; | ||
}; | }; | ||
}); | }); |
Revision as of 05:30, 12 January 2015
/* Any JavaScript here will be loaded for all users on every page load. */
/*pinyin table scripts*/
$(document).ready( function() {
$('#table-settings').append('<p>Show IPA <input type="checkbox" id="table-toggle-ipa"/> Show zhuyin <input type="checkbox" id="table-toggle-zhuyin"/> Show Wade-Giles <input type="checkbox" id="table-toggle-wade-giles"/></p>');
$('.table-ipa').hide();
$('.table-zhuyin').hide();
$('.table-wade-giles').hide();
$('.col-placeholder').hide();
//highlight row and col of hovered cell
$('#pinyin-table td').hover( function() {
if ($(this).children('div.table-pinyin').length) {
$(this).addClass('table-highlight');
$(this).siblings().addClass('table-highlight');
var rowIndex = $(this).prevAll().length+1;
$('#pinyin-table tr :nth-child('+rowIndex+')').addClass('table-highlight');
};
}, function() {
$('.table-highlight').removeClass('table-highlight');
}).click( function() {
if ($(this).children('div.table-pinyin').length) {
var tones="1234"; //always use tone 1 for now
var $player = $('#pinyin-table-audio');
$player.empty();
$for (var i=0; i<tones.length; i++) {
var sound_url = "http://resources.allsetlearning.com/pronwiki/resources/pinyin-audio/" + $(this).attr('id') + tones[i] + ".mp3"
$player.append("<source src=\"" + sound_url + "\" type=\"audio/mpeg\"></source>")
$player[0].pause();
$player[i].load();
$player[i].play();
};
};
});
//collapse column groups
$('th.col-a, th.col-e, th.col-o, th.col-i, th.col-u, th.col-v').hover( function() {
if ($(this).hasClass('col-a')) { var thClass='col-a'; } else
if ($(this).hasClass('col-e')) { var thClass='col-e'; } else
if ($(this).hasClass('col-o')) { var thClass='col-o'; } else
if ($(this).hasClass('col-i')) { var thClass='col-i'; } else
if ($(this).hasClass('col-u')) { var thClass='col-u'; } else
if ($(this).hasClass('col-v')) { var thClass='col-v'; };
console.log(thClass);
$('th.'+thClass).addClass('table-selected');
}, function() {
$('.table-selected').removeClass('table-selected');
}).click( function() {
if ($(this).hasClass('col-a')) { var thClass='col-a'; } else
if ($(this).hasClass('col-e')) { var thClass='col-e'; } else
if ($(this).hasClass('col-o')) { var thClass='col-o'; } else
if ($(this).hasClass('col-i')) { var thClass='col-i'; } else
if ($(this).hasClass('col-u')) { var thClass='col-u'; } else
if ($(this).hasClass('col-v')) { var thClass='col-v'; };
if ($(this).hasClass('col-placeholder')) {
$('#pinyin-table .'+thClass).show();
$('#pinyin-table .'+thClass+'.col-placeholder').hide();
} else {
$('#pinyin-table .'+thClass).hide();
$('#pinyin-table .'+thClass+'.col-placeholder').show();
};
});
//toggle showing ipa, zhuyin, wade-giles
$('#table-toggle-ipa').click( function() {
if ($(this).prop('checked')) {
$('.table-ipa').show();
} else {
$('.table-ipa').hide();
};
});
$('#table-toggle-zhuyin').click( function() {
if ($(this).prop('checked')) {
$('.table-zhuyin').show();
} else {
$('.table-zhuyin').hide();
};
});
$('#table-toggle-wade-giles').click( function() {
if ($(this).prop('checked')) {
$('.table-wade-giles').show();
} else {
$('.table-wade-giles').hide();
};
});
});