刷新javascript代码

时间:2016-02-01 16:58:25

标签: javascript jquery xml refresh setinterval

好,我有一个javascript,感谢这个网站,它来自一个XML文档,其链接是:http://inlivefm.6te.net/NowOnAir.xml,javascript必须删除作为艺术家名称和歌曲xml文档的功能。 我打算做的是添加javascript代码以自动刷新艺术家姓名和歌曲。

我尝试过但无法得到这个结果,下面我将javascript与“尝试”一起刷新。

<script type="text/javascript">
  $(document).ready(function(){
          /*  Busca el archivo NowOnAir.xml */
          $.ajax({
            type: "GET",
            url: "/NowOnAir.xml",
            dataType: "xml",
            success: function(xml) {
                /*Buscar el tag <Event> e ir repitiendo el proceso hasta el final (bucle) */
                $(xml).find('Event').each(function(){
                    /*Tomar los valores de startTime*/
                    var startTime = $(this).attr('startTime');

                    /*Buscar el tag <Song> y repetir bucle*/
                    $(this).find('Song').each(function(){
                        /*Tomar los valores de title*/
                        var title = $(this).attr('title');
                        var artist;

                        /*Buscar el tag <Artist> y repetir bucle*/
                        $(this).find('Artist').each(function(){
                            /*Tomar los valores de name*/
                            artist = $(this).attr('name');
                        });

                        /*Buscar el tag Expire y repetir bucle*/
                        $(this).find('Expire').each(function(){
                            var time = $(this).attr('Time');
                            $('.cancion').append("<p>"+artist+" - "+title+"</p>");
                            setInterval(function(){$('.cancion');}, 5000);
                        });
                    });
                });
            }
          });
        });
</script>
</head>
<body>
<div class="cancion"></div>
</body>
</html>

我一定是犯了错误,所以我来找你帮忙。

非常感谢你。

1 个答案:

答案 0 :(得分:0)

  1. 可能导致错误的主要原因是在某些地方缺少closing braces & brackets

  2. 使用setInterval功能自动刷新您的内容。

    <script>
    
    $(document).ready(function(){
    get_info();
    setInterval(function(){ get_info(); }, 20000);
    
    function get_info(){
    
            $.ajax({
                type: "GET",
                url: "NowOnAir.xml",
                dataType: "xml",
                success: function(xml) {                     
                      $(xml).find('Event').each(function(){                                  
                      $(this).find('Song').each(function(){                
                      var title = $(this).attr('title');
                      var artist;                
    
                      $(this).find('Artist').each(function(){                    
                        artist = $(this).attr('name');
                      });                
    
                      $(this).find('Expire').each(function(){                    
                      $('.cancion').append("<p>"+artist+" - "+title+"</p>");
                    });
                  });
                });
              }
           });
    }
    });
    
    </script>
    
  3. 如果您需要在每次<div>来电时替换$.ajax的内容 使用.html()方法。

    $('#content-wr').html('<div class="new-lines"><div><a>' + val.id + '&nbsp;&nbsp;&nbsp;' + val.joke + '</a></div></div>');
    

    并查看此示例:

    &#13;
    &#13;
    setInterval(function(){    
      $.ajax ({
        url: 'http://api.icndb.com/jokes/random',
        method: 'GET',
        beforeSend: function(){
          $('#content-wr').children().fadeOut(1500);
        },
        success: function(data){
          var val = data.value
          $('#content-wr').append('<div class="new-lines"><div><a>' + val.id + '&nbsp;&nbsp;&nbsp;' + val.joke + '</a></div></div>');
        }
        });    
    },5000);
    &#13;
    .new-lines > div{
      width: 500px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    &#13;
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <div id="content-wr"></div>
    &#13;
    &#13;
    &#13;

    您的ajax将被调用,内容每5秒更新/刷新一次。

    或者将ajax来电置于get_info()内。