Javascript:将计时器设置为每分钟运行不同的链接
在这个程序中,我创建了对象及其实例,并将这些实例存储在数组中。我通过获取数组长度的分钟模来检索数组索引。我试图显示在div标签链接,我应该能够看到不同的链接每分钟。点击链接后,它会显示不同的url。并将计时器设置为每分钟运行一次。为此,我创建了setInterval()。但它似乎不起作用。有人能帮我吗 代码:Javascript:将计时器设置为每分钟运行不同的链接,javascript,Javascript,在这个程序中,我创建了对象及其实例,并将这些实例存储在数组中。我通过获取数组长度的分钟模来检索数组索引。我试图显示在div标签链接,我应该能够看到不同的链接每分钟。点击链接后,它会显示不同的url。并将计时器设置为每分钟运行一次。为此,我创建了setInterval()。但它似乎不起作用。有人能帮我吗 代码: myDiv先生{ 宽度:750px; 高度:150像素; 边框:#CED8BC 3px实心; 边界半径:20px; 位置:绝对位置; 最高:30%; 左:20%; } p组{ 文本对齐:
myDiv先生{
宽度:750px;
高度:150像素;
边框:#CED8BC 3px实心;
边界半径:20px;
位置:绝对位置;
最高:30%;
左:20%;
}
p组{
文本对齐:居中;
字体系列:monospace;
字体大小:30px;
}
a{
文本对齐:居中;
文字装饰:无;
颜色:#3bb570;
}
a:悬停{
颜色:#efa5db
}
lab15
点击链接查看网站
功能站点(url、网站名称){
this.the_url=该_url;
this.website\u name=网站名称;
}
var myWebsite=新站点(“http://www.cnn.com/","CNN",;
var myWebsite2=新站点(“http://www.bbc.com/news“,”英国广播公司“;
var myWebsite3=新站点(“http://www.foxnews.com/","福克斯新闻",;
var myWebsite4=新站点(“http://abcnews.go.com/","ABC新闻",;
var myWebsite5=新站点(“https://www.cbsnews.com/“,”哥伦比亚广播公司新闻“);
var实例=新数组(myWebsite、myWebsite2、myWebsite3、myWebsite4、myWebsite5);
设置间隔(changeLink,60000);
函数changeLink(){
var n=新日期().getMinutes();
var index=n%instances.length
var site=实例[索引]
var计数器=0;
var ele=document.getElementbyId(“链接”);
ele.innerHTML=实例[计数器];
计数器++;
if(计数器>=instances.length){
计数器=0;
}
var a=document.createElement('a');
var myDiv=document.getElementbyId(“div”);
a、 href=site.html\u url;
a、 innerHTML=site.website\u名称
myDiv.appendChild(a);
文件.body.appendChild(myDiv);
}
Movevar计数器=0代码>退出函数
此外,如前所述,您必须通过以下方式将大写:
var ele = document.getElementById("link");
/* ... */
var myDiv = document.getElementbyId("div");
最终代码:
var counter = 0;
function changeLink() {
var n = new Date().getMinutes();
var index = n % instances.length
var site = instances[index]
//var counter = 0;
var ele = document.getElementById("link"); //Capitalize By
ele.innerHTML = instances[counter];
counter++;
if (counter >= instances.length) {
counter = 0;
}
var a = document.createElement('a');
var myDiv = document.getElementById("div"); //Capitalize By
a.href = site.the_url;
a.innerHTML = site.website_name
myDiv.appendChild(a);
document.body.appendChild(myDiv);
}
修复了分号和getElementById
typos。这是工作代码
功能站点(url、网站名称){
this.the_url=该_url;
this.website\u name=网站名称;
}
var myWebsite=新站点(“http://www.cnn.com/","CNN",;
var myWebsite2=新站点(“http://www.bbc.com/news“,”英国广播公司“;
var myWebsite3=新站点(“http://www.foxnews.com/","福克斯新闻",;
var myWebsite4=新站点(“http://abcnews.go.com/","ABC新闻",;
var myWebsite5=新站点(“https://www.cbsnews.com/“,”哥伦比亚广播公司新闻“);
var实例=新数组(myWebsite、myWebsite2、myWebsite3、myWebsite4、myWebsite5);
//调用changeLink一次以在页面加载时显示
changeLink();
//时间间隔更改为3秒,因此您无需等待一分钟的结果
设置间隔(changeLink,3000);
函数changeLink(){
var n=新日期().getMinutes();
var index=n%instances.length;
var site=实例[索引];
var计数器=0;
var ele=document.getElementById(“链接”);
计数器++;
if(计数器>=instances.length){
计数器=0;
}
var a=document.createElement('a');
var myDiv=document.getElementById(“div”);
a、 href=site.html\u url;
a、 innerHTML=site.website\u名称;
ele.innerHTML='';
ele.appendChild(a);
}
.myDiv{
宽度:750px;
高度:150像素;
边框:#CED8BC 3px实心;
边界半径:20px;
位置:绝对位置;
最高:30%;
左:20%;
}
p组{
文本对齐:居中;
字体系列:monospace;
字体大小:30px;
}
a{
文本对齐:居中;
文字装饰:无;
颜色:#3bb570;
}
a:悬停{
颜色:#efa5db
}
lab15
点击链接查看网站
document.getElementbyId()
应该是document.getElementbyId()
@ChrisHappy不知道你的意思是什么?@ChrisHappy在不使用.getElementbyId()的地方发布链接的目的是什么
在您的答案中?@ChrisHappy至少在休息之前为OP更正您的答案?“将var counter=0;
移出函数。”这不是问题代码的唯一问题<代码>文档。getElementbyId()不是function@pari现在呢?刚被Guest271314“启发”后更新,您错过了var ele=document.getElementbyId(“链接”)代码>@guest271314谢谢!没有你我该怎么办;)@guest271314中的小姐?让我试着在加载页面时告诉你为什么它没有直接显示任何链接?更新了答案。在设置计时器之前,只需调用changeLink()
。
var counter = 0;
function changeLink() {
var n = new Date().getMinutes();
var index = n % instances.length
var site = instances[index]
//var counter = 0;
var ele = document.getElementById("link"); //Capitalize By
ele.innerHTML = instances[counter];
counter++;
if (counter >= instances.length) {
counter = 0;
}
var a = document.createElement('a');
var myDiv = document.getElementById("div"); //Capitalize By
a.href = site.the_url;
a.innerHTML = site.website_name
myDiv.appendChild(a);
document.body.appendChild(myDiv);
}