voices / styles.css
99i's picture
Upload 3 files
de64bd3 verified
document.addEventListener('DOMContentLoaded', function() {
fetch('https://99i-tts.hf.space/voices?l=zh&d')
.then(response => response.json())
.then(data => {
const voices = data.voices;
displayVoices(voices);
setupFilters(voices);
});
function displayVoices(voices) {
const tableBody = document.getElementById('voicesTable').getElementsByTagName('tbody')[0];
tableBody.innerHTML = ''; // 清空表格
voices.forEach(voice => {
const row = tableBody.insertRow();
row.insertCell(0).innerText = voice.DisplayName;
row.insertCell(1).innerText = voice.Gender;
row.insertCell(2).innerText = voice.LocalName;
row.insertCell(3).innerText = voice.LocaleName;
row.insertCell(4).innerText = voice.Status;
// 插入其他单元格
});
}
function setupFilters(voices) {
const genderSelect = document.getElementById('gender');
const localeSelect = document.getElementById('locale');
genderSelect.addEventListener('change', () => filterVoices());
localeSelect.addEventListener('change', () => filterVoices());
function filterVoices() {
const selectedGender = genderSelect.value;
const selectedLocale = localeSelect.value;
const filteredVoices = voices.filter(voice => {
return (selectedGender === '' || voice.Gender === selectedGender) &&
(selectedLocale === '' || voice.Locale === selectedLocale);
});
displayVoices(filteredVoices);
}
}
});
body {
font-family: Arial, sans-serif;
}
#filters {
margin-bottom: 20px;
}
table {
width: 100%;
border-collapse: collapse;
}
th, td {
border: 1px solid #ddd;
padding: 8px;
text-align: left;
}
th {
background-color: #f2f2f2;
}