我正在尝试创建某种脚本,当我转到新标签页时,该脚本会更改某些文本。我是Javascript的noobie,HTML和CSS很好。
到目前为止,这是我工作的链接: https://jsfiddle.net/gbjwn08y/
void Main()
{
Entry<int> intEntry = 10;
int val = intEntry;
}
正如您所看到的,我有选项卡处理文本。我需要根据单击的选项卡更改“此处此文本”。 我也将使用“此文本就在这里”制作预设字体。
非常感谢任何帮助
答案 0 :(得分:1)
您可以为要显示的每个文本块创建一个元素,为其添加一个与其关联的cityName
匹配的类,当您单击选项卡时,显示包含{的文本块{1}}在它的课堂上隐藏其余部分。
cityName
答案 1 :(得分:1)
有很多方法可以解决这个问题。既然您还没有提到您希望文本做出哪些更改,我只假设<p>
中的文字是任何字符串。您可以添加两个更简单的函数来解决这个问题:
function changeText(newText) {
let text = document.getElementById('text');
text.innerHTML = newText;
};
function handleTabClick(cityName, elmnt, color, newText) {
openCity(cityName, elmnt, color);
changeText(newText);
}
在这种情况下,您的每个功能将只负责一件事,这可能更适合调试和将来的编辑。
在此之后,再采取两个步骤:
id="text"
添加到<p>
元素onClick
处理程序更改为handleTabClick
并提供相应的参数。要查看其有效,请点击here
答案 2 :(得分:0)
为要更改的元素添加ID,例如<p id="test">
,然后添加以下内容:
document.getElementById('test').innerHTML = cityName;
后:
document.getElementById(cityName).style.display = "block";
elmnt.style.backgroundColor = color;
这将用城市名称替换文本。希望您可以根据自己的需求进一步定制。
答案 3 :(得分:0)
试试这个:
<!DOCTYPE html>
<html>
<head>
<style>
body {font-family: "Lato", sans-serif;}
.tablink {
background-color: #555;
color: white;
float: left;
border: none;
outline: none;
cursor: pointer;
padding: 14px 16px;
font-size: 17px;
width: 25%;
}
.tablink:hover {
background-color: #777;
}
/* Style the tab content */
.tabcontent {
color: white;
display: none;
padding: 50px;
text-align: center;
}
#London {background-color:red;}
#Paris {background-color:green;}
#Tokyo {background-color:blue;}
#Oslo {background-color:orange;}
</style>
</head>
<body>
<div id="London" class="tabcontent">
<h3>London</h3>
<p>London is the capital city of England.</p>
</div>
<div id="Paris" class="tabcontent">
<h3>Paris</h3>
<p>Paris is the capital of France.</p>
</div>
<div id="Tokyo" class="tabcontent">
<h3>Tokyo</h3>
<p>Tokyo is the capital of Japan.</p>
</div>
<div id="Oslo" class="tabcontent">
<h3>Oslo</h3>
<p>Oslo is the capital of Norway.</p>
</div>
<button class="tablink" onclick="openCity('London', this, 'red')" id="defaultOpen">London</button>
<button class="tablink" onclick="openCity('Paris', this, 'green')">Paris</button>
<button class="tablink" onclick="openCity('Tokyo', this, 'blue')">Tokyo</button>
<button class="tablink" onclick="openCity('Oslo', this, 'orange')">Oslo</button>
<p id="city">
I need this text to change
</p>
<script>
function openCity(cityName,elmnt,color) {
var i, tabcontent, tablinks;
tabcontent = document.getElementsByClassName("tabcontent");
for (i = 0; i < tabcontent.length; i++) {
tabcontent[i].style.display = "none";
}
tablinks = document.getElementsByClassName("tablink");
for (i = 0; i < tablinks.length; i++) {
tablinks[i].style.backgroundColor = "";
}
document.getElementById(cityName).style.display = "block";
elmnt.style.backgroundColor = color;
var s = document.getElementById("city");
s.innerHTML = cityName;
}
// Get the element with id="defaultOpen" and click on it
document.getElementById("defaultOpen").click();
</script>
</body>
</html>