我正在一个音乐网站上工作:
我在服务器上有一个文本文件,其中包含当前播放歌曲的名称.
我想每隔15秒读取一次文本文件,并更改我网站上显示的文字,
没有刷新.
我在服务器上有一个文本文件,其中包含当前播放歌曲的名称.
我想每隔15秒读取一次文本文件,并更改我网站上显示的文字,
没有刷新.
现在,使用一点点jQuery和javascript,我实际上已经达到了第一次读取和显示文件的程度,但它不会刷新.我尝试过各种setInterval函数,但是对于我的生活,我不能让这部分工作.
任何帮助将不胜感激.
这是我有的:
<script type="text/javascript"> $(document).ready(function() { jQuery.get('http://www.XXXXX.com/nowplaying/NowPlaying.txt',function(data) { var myvar = data; var parts = myvar.split(/\n/); var songtitle = parts[0]; var songartist = parts[1]; var songalbum = parts[2]; var songtime = parts[3]; $('#songtitleholder').html(songtitle); $('#songartistholder').html(songartist); $('#songalbumholder').html(songalbum); }); }); </script>
解决方法
您可以在函数中重复执行要执行的代码,并在
setTimeout
中传递该函数.setTimeout的第二个参数将以毫秒为单位.
在这里使用setTimeout IMO在这里更合适,因为它将排除发送请求和接收响应所花费的时间.它将在收到响应后每5秒发送一次请求.
<script type="text/javascript"> $(document).ready(function() { function functionToLoadFile(){ jQuery.get('http://www.XXXXX.com/nowplaying/NowPlaying.txt',function(data) { var myvar = data; var parts = myvar.split(/\n/); var songtitle = parts[0]; var songartist = parts[1]; var songalbum = parts[2]; var songtime = parts[3]; $('#songtitleholder').html(songtitle); $('#songartistholder').html(songartist); $('#songalbumholder').html(songalbum); setTimeout(functionToLoadFile,5000); }); } setTimeout(functionToLoadFile,10); }); </script>