Zup Stackoverflow!
关于我似乎无法解决的问题,我有一个问题。我想添加带有区间函数的文本,该区间函数只能在h2标记内已存在的文本之后才能看到。数据来自列表数组。所以像这样:
HTML:
<div id="output">
<h2 id="funny-day">Funny day: (HERE IS WHERE I WANT THE OUTPUT TO BE)</h2>
</div>
使用Javascript:
//Get elements
var funny-day = document.getElementById("funny-day");
//Array
var list = ["Sunny", "Cloudy", "Rainy"]
//Function to output array
var index = 0;
markiser.innerHTML = markiser.textContent;
setInterval(function() {
var text = (list[index++ % list.length]).toString();
markiser.innerHTML += text; <<Not working ofcourse since it only appends
}, 2000);
重要提示是,由于搜索引擎优化的目的,我想在h2标签内保留“有趣的一天:”。
答案 0 :(得分:1)
为什么不为<span class="data">yourdata</span>
//Get elements
var funnyDay = document.getElementById("funny-day");
//Array
var list = ["Sunny", "Cloudy", "Rainy"]
//Function to output array
var index = 0;
setInterval(function() {
var text = (list[index++ % list.length]).toString();
document.getElementById("data").innerHTML = text
}, 2000);
<div id="output">
<h2 id="funny-day">Funny day: <span id="data" >(HERE IS WHERE I WANT THE OUTPUT TO BE)</span></h2>
</div>
我编辑了一些没有意义的事情,例如你的函数中没有-
,而且你的markiser
没有在范围内定义。
答案 1 :(得分:0)
这样的东西?
//Get elements
var funnyday = document.getElementById("funny-day");
//Array
var list = ["Sunny", "Cloudy", "Rainy"];
//Function to output array
var index = 0;
funnyday.innerHTML = ("Funny day: " + list[index]);
index=index >= list.length - 1 ? 0 : index+1;
setInterval(function() {
funnyday.innerHTML = ("Funny day: " + list[index]);
index=index >= list.length - 1 ? 0 : index+1;
}, 2000);
<div id="output">
<h2 id="funny-day">Funny day: </h2>
</div>