想改善這個問題?通過編輯這篇文章,更新問題,使其只關注一個問題。
當然可以!如果您希望在頁面上呈現三行不同的文本,并根據所選的語言更新它們,可以按如下方式修改代碼:
HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Language App</title>
<style>
/* Your CSS styles here */
</style>
</head>
<body>
<h1 id="heading">Welcome!</h1>
<p id="line1">This is line 1.</p>
<p id="line2">This is line 2.</p>
<p id="line3">This is line 3.</p>
<select id="language-select" onchange="changeLanguage()">
<option value="en">English</option>
<option value="fr">French</option>
<option value="de">German</option>
</select>
<script src="translate.json"></script>
<script src="script.js"></script>
</body>
</html>
JavaScript (script.js):
function changeLanguage() {
var select = document.getElementById("language-select");
var language = select.value;
fetch('translate.json')
.then(response => response.json())
.then(data => {
var translations = data[language];
var heading = document.getElementById("heading");
var line1 = document.getElementById("line1");
var line2 = document.getElementById("line2");
var line3 = document.getElementById("line3");
heading.innerText = translations.heading;
line1.innerText = translations.line1;
line2.innerText = translations.line2;
line3.innerText = translations.line3;
})
.catch(error => {
console.log('Error:', error);
});
}
JSON (translate.json):
{
"en": {
"heading": "Welcome!",
"line1": "This is line 1.",
"line2": "This is line 2.",
"line3": "This is line 3."
},
"fr": {
"heading": "Bienvenue !",
"line1": "Ceci est la ligne 1.",
"line2": "Ceci est la ligne 2.",
"line3": "Ceci est la ligne 3."
},
"de": {
"heading": "Willkommen!",
"line1": "Dies ist Zeile 1.",
"line2": "Dies ist Zeile 2.",
"line3": "Dies ist Zeile 3."
}
}
在這個修改版本中,我們增加了三個& ltp & gt具有唯一id(line 1、line2、line3)的元素,用于表示三行不同的文本。JavaScript代碼已經更新,可以從translate.json文件中獲取翻譯,并根據所選語言更新所有三行的內容。
您可以根據需要在HTML中添加更多的行或其他元素,并在JavaScript代碼中包含它們各自的id,以根據所選語言更新它們的內容。
記得根據項目的文件結構調整JSON文件和JavaScript文件(script.js)的路徑。
更新后的代碼將允許您根據所選語言在頁面上呈現和更新多行文本。
如果有幫助,請考慮接受回答。如果需要更多的幫助,請告訴我。