【发布时间】:2014-04-09 08:05:49
【问题描述】:
对于用于研究网站交互的模型网页,我使用 JavaScript 创建了模型消息流。此消息流应以预设的时间间隔显示图像。在 Chrome 中,此代码以预设的时间间隔将图像发布在彼此下方。在 IE 中,仅显示第一张图像。我已经删除了 window.setTimeout 方法中的参数传递,但是我不知道我还需要做什么来满足 IE。我还应该怎么做才能使所有图像以预设的间隔出现?
我的脚本部分有几个全局变量:
var updateinterval = 400; // a multiplier (integer) used to
var scrollinterval = 5; // an interval (integer) to wait before scrolling
var point; // integer used to prevent using parameters in window.setTimeout
var interval = [0, 10, 40]; // array of integers creating diversity in intervals
var images = ["r1", "a1", "r2"];// array of strings referring to images to show
存在以下功能:
function trypost(){
point = point + 1;
if(point < interval.length){
//write the required image
document.writeln("<img src='images/"+images[point]+".png'/><br/>");
//time scroll to bottom
var stb = window.setTimeout(scrollToBottom, scrollinterval);
//time next post
var nextupdate = interval[point]*updateinterval;
var tp = window.setTimeout(trypost, nextupdate);
}
}
function scrollToBottom(){
window.scrollBy(0,document.body.scrollHeight);
}
function startpost(){
point = -1;
trypost();
}
window.onload = startpost;
【问题讨论】:
-
我认为你应该使用
document.getElementsByTagName('body')[0].innerHTML += "<img src...而不是document.writeln。此外,您在同一行上有一个流浪+。您在 IE 中是否遇到任何控制台错误? -
更改了 document.writeln,这似乎有效。
标签: javascript internet-explorer google-chrome