Javascript 添加内容到字幕每

Javascript 添加内容到字幕每,javascript,html,json,marquee,Javascript,Html,Json,Marquee,如何使用javascript每隔20秒更新marquee中的内容? 我的意思是,在前20秒内,他读第一个对象,在第二个40秒内,他读第二个对象,依此类推,在不更新页面的情况下,意味着自动更新页面 这是javascript函数: function read () { $.getJSON("jsons/jobs.json", function(json) { Thejobs = json; for(var k in Thejobs.Studies){ $('#boxCo

如何使用javascript每隔20秒更新marquee中的内容?
我的意思是,在前20秒内,他读第一个对象,在第二个40秒内,他读第二个对象,依此类推,在不更新页面的情况下,意味着自动更新页面
这是javascript函数:

    function read () {
  $.getJSON("jsons/jobs.json", function(json) {
  Thejobs = json;
  for(var k in Thejobs.Studies){
     $('#boxContent').append('<br>'+"position: "+Thejobs.Studies[k].position+
     '<br>'+"Academy: "+Thejobs.Studies[k].academy+'<br>'+"address: "
     +Thejobs.Studies[k].address+'<br>'+"Description: "+Thejobs.Studies[k].jobDescription)
     $('#boxContent').append("<br>_____________________");
     }}); }
}

html文件:

  <marquee direction="up" scrollamount="2">
  <p id="boxContent"></p>
   </marquee>

我尝试过这个,但没有成功:

<script>
var myVar = setInterval(joobs(), 20000);
var ii=0;
function joobs(){
  $.getJSON("jsons/jobs.json", function(json) {
   Thejobs = json;
     $('#boxContent').append('<br>'+"position: 
   "+Thejobs.Studies[ii].position+
    '<br>'+"Academy: "+Thejobs.Studies[ii].academy+'<br>'+"address: "
    +Thejobs.Studies[ii].address+'<br>'+"Description: 
  "+Thejobs.Studies[ii].jobDescription)
    $('#boxContent').append("<br>_____________________");
   });
     ii=ii+1; 
      </script>

var myVar=setInterval(joobs(),20000);
var ii=0;
函数joobs(){
$.getJSON(“jsons/jobs.json”,函数(json){
Thejobs=json;
$('#boxContent')。追加('
“+”位置: “+Thejobs.Studies[ii].职位+ “
”+“学院:“+Thejobs.Studies[ii].学院+”
“+”地址: +Jobs.Studies[ii].地址+'
'+'说明: “+Thejobs.研究[ii].工作描述) $(“#boxContent”)。追加(
uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu); }); ii=ii+1;
我忍不住做了这件令人讨厌的事

如果您需要以固定的时间间隔执行某些操作,请使用只需将您的函数更改
选取框的值作为回调,并将间隔设置为
20000
以延迟20秒。您的函数将每20秒调用一次,如下面的示例所示

var值=[“选框”,“应”,“永不”,“死亡”,“长寿”,“寿命”,“选框!”];
var迭代器=1;
var着色剂=0;
函数updateMarquee(){
document.getElementById('boxContent').innerHTML=values[iterator];
迭代器=(迭代器+1)%values.length;
log(“已调用updateMarquee());
返回函数(){
log(“调用了updateMarquee()返回值而不是函数”);
};
}
setInterval(updateMarquee,1000);
setInterval(updateMarquee(),10000);

字幕


我忍不住做了这件令人讨厌的事

如果您需要以固定的时间间隔执行某些操作,请使用
只需将您的函数更改
选取框的值作为回调,并将间隔设置为
20000
以延迟20秒。您的函数将每20秒调用一次,如下面的示例所示

var值=[“选框”,“应”,“永不”,“死亡”,“长寿”,“寿命”,“选框!”];
var迭代器=1;
var着色剂=0;
函数updateMarquee(){
document.getElementById('boxContent').innerHTML=values[iterator];
迭代器=(迭代器+1)%values.length;
log(“已调用updateMarquee());
返回函数(){
log(“调用了updateMarquee()返回值而不是函数”);
};
}
setInterval(updateMarquee,1000);
setInterval(updateMarquee(),10000);

字幕


我更正了代码中的一些语法错误。我将解释我所做的最重要的事情:

  • setInterval(joobs(),20000)
    ->
    setInterval(joobs,20000)
    :您必须 将方法本身作为参数传递。否则将调用该方法 其返回值将每20秒执行一次
  • Thejobs.Studies[ii]
    ->
    Thejobs.Studies[“jobID”+ii]
    :将属性名作为索引。传递数字无效。由于JSON文件的属性名,还需要使用
    1
    而不是
    0
    初始化
    ii
  • 我还添加了一些缺少的括号
HTML和JSON没有改变。 所以看起来是这样的:

var myVar = setInterval(joobs, 20000);
var ii=1;
function joobs() {
    $.getJSON("jsons/jobs.json", function (json) {
        var Thejobs = json;
        $('#boxContent').append('<br>' + "position:" +
            Thejobs.Studies["jobID" + ii].position +
            '<br>' +
            "Academy: " +
            Thejobs.Studies["jobID" + ii].academy +
            '<br>' +
            "address: " +
            Thejobs.Studies["jobID" + ii].address +
            '<br>' +
            "Description:" +
            Thejobs.Studies["jobID" + ii].jobDescription);
        $('#boxContent').append("<br>_____________________");
    });
    ii = ii + 1;
}
var myVar=setInterval(joobs,20000);
var ii=1;
函数joobs(){
$.getJSON(“jsons/jobs.json”,函数(json){
var Thejobs=json;
$('#boxContent')。追加('
'+“位置:”+ Jobs.Studies[“jobID”+ii].职位+ “
”+ “学院:”+ Jobs.Studies[“jobID”+ii].学院+ “
”+ “地址:”+ Jobs.Studies[“jobID”+ii]。地址+ “
”+ “说明:”+ Jobs.Studies[“jobID”+ii].工作描述); $(“#boxContent”)。追加(
uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu); }); ii=ii+1; }
我更正了代码中的一些语法错误。我将解释我所做的最重要的事情:

  • setInterval(joobs(),20000)
    ->
    setInterval(joobs,20000)
    :您必须 将方法本身作为参数传递。否则将调用该方法 其返回值将每20秒执行一次
  • Thejobs.Studies[ii]
    ->
    Thejobs.Studies[“jobID”+ii]
    :将属性名作为索引。传递数字无效。由于JSON文件的属性名,还需要使用
    1
    而不是
    0
    初始化
    ii
  • 我还添加了一些缺少的括号
HTML和JSON没有改变。 所以看起来是这样的:

var myVar = setInterval(joobs, 20000);
var ii=1;
function joobs() {
    $.getJSON("jsons/jobs.json", function (json) {
        var Thejobs = json;
        $('#boxContent').append('<br>' + "position:" +
            Thejobs.Studies["jobID" + ii].position +
            '<br>' +
            "Academy: " +
            Thejobs.Studies["jobID" + ii].academy +
            '<br>' +
            "address: " +
            Thejobs.Studies["jobID" + ii].address +
            '<br>' +
            "Description:" +
            Thejobs.Studies["jobID" + ii].jobDescription);
        $('#boxContent').append("<br>_____________________");
    });
    ii = ii + 1;
}
var myVar=setInterval(joobs,20000);
var ii=1;
函数joobs(){
$.getJSON(“jsons/jobs.json”,函数(json){
var Thejobs=json;
$('#boxContent')。追加('
'+“位置:”+ Jobs.Studies[“jobID”+ii].职位+ “
”+ “学院:”+ Jobs.Studies[“jobID”+ii].学院+ “
”+ “地址:”+ Jobs.Studies[“jobID”+ii]。地址+ “
”+ “说明:”+ Jobs.Studies[“jobID”+ii].工作描述); $(“#boxContent”)。追加(
uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu); }); ii=ii+1; }
不要使用marquee,它已经过时,不推荐使用了-如果你打算每隔20秒迭代一次JSON
setInterval
可能会奏效。试试看它是否能满足你的需要。