使用Javascript和标签更改页面内容

时间:2017-06-15 03:37:43

标签: javascript html css

我正在尝试创建某种脚本,当我转到新标签页时,该脚本会更改某些文本。我是Javascript的noobie,HTML和CSS很好。

到目前为止,这是我工作的链接: https://jsfiddle.net/gbjwn08y/

void Main()
{
    Entry<int> intEntry = 10;
    int val = intEntry;
}

正如您所看到的,我有选项卡处理文本。我需要根据单击的选项卡更改“此处此文本”。 我也将使用“此文本就在这里”制作预设字体。

非常感谢任何帮助

4 个答案:

答案 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);
}

在这种情况下,您的每个功能将只负责一件事,这可能更适合调试和将来的编辑。

在此之后,再采取两个步骤:

  1. id="text"添加到<p>元素
  2. 将按钮的onClick处理程序更改为handleTabClick并提供相应的参数。
  3. 要查看其有效,请点击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>