编辑:胡安门德斯的解决方案解决了这个问题,但没有解释更为一般的问题,为什么这对32位而不是64位完全相同的浏览器起作用。只是让我不知道这样的其他问题可能存在,以及如何采取预防措施对他们......这里是原题:一些Javascript未能在64位Internet Explorer中正常运行
我有IE 9上安装两个Windows 7的机器,一个32位和另外64个。所有的IE选项/安全设置都是相同的。
在32位机上,以下网站显示正确。通知关于中途页面向下滚动社交媒体的图标都处于运动中,向左滚动:
http://www.nba.com/warriors/social-media-new-test
在64位机,剧本似乎并没有被运行的图标不动。页面上的其他脚本运行正常(例如,头部有一些javascript控制要显示的图像)。
这里是使图标移动的代码,但是我担心这是一个较大的(不具体)问题:
$(document).ready(function() {
setInterval(scrollIcons, 40);
});
function scrollIcons() {
var i, thisPos, newPosLeft;
for (i=0; i < numIcons; i++) {
thisPos = $(iconButtons[i]).position();
newPosLeft = thisPos.left - (1 * scrollspeed);
if (newPosLeft < SLIDERLEFTBORDER) newPosLeft = SLIDERRIGHTBORDER;
$(iconButtons[i]).attr("style", "left: " + newPosLeft + "px;");
}
}
任何人都知道这个问题可能是什么?我错在64位与32位的假设?这似乎是机器与我之间的唯一区别。
你看到的任何错误消息? – Huangism
没有错误信息,只是似乎不想运行它 – dougmacklin
请从'setTimeout'调用中消除难看的eval-ish字符串,而只是将函数引用放在那里。 ''setInterval'可能会更好。 –