IE8出现JavaScript无效参数错误
JavaScript invalid argument error with IE8
IE8在该循环中最后一条语句的字符9处给我一个invalid argument
错误(字符9是图标变量的第一个字母):
var JOB_STATUS_ICON_DISTANCE = 125;
var JOB_STATUS_ICON = {};
var center = parseInt($('#job-status-window').css('width')) / 2;
var jobStatusIcons = ['A', 'B', 'C', 'D', 'E'];
for (var i=0; i<jobStatusIcons.length; i++) {
var name = jobStatusIcons[i];
var icon = document.getElementById('job-status-' + name);
var width = icon.naturalWidth;
var centerPoint = (center-(width/2));
JOB_STATUS_ICON[name+'Center'] = centerPoint;
JOB_STATUS_ICON[name+'Left'] = centerPoint - JOB_STATUS_ICON_DISTANCE;
JOB_STATUS_ICON[name+'Right'] = centerPoint + JOB_STATUS_ICON_DISTANCE;
JOB_STATUS_ICON[name] = $('#job-status-'+name);
icon.style.left = JOB_STATUS_ICON[name+'Right'] + 'px'; // error here...
}
有人能告诉我为什么吗?这在现代浏览器中运行良好。
仅在某些上下文中,这是用于监视正在进行的作业的状态(5个步骤)。我正在跟踪JOB_STATUS_ICONS中5个图像的位置。每个图像从右侧滑入到中心位置,在处理作业的这一部分时停留在那里,然后滑出到左侧。上面的代码只是建立每个图像的左、中、右位置的一些优化(它们都是不同的宽度)。
导致问题的循环中的最后一行是设置图像的初始位置。
这可能是因为IE8不支持计算centerPoint
的naturalWidth
属性。
var width = icon.naturalWidth;
var centerPoint = (center-(width/2));
下面是Jack Moore编写的一小段Javascript,它模拟了IElt8 中的naturalWidth
function getNatural (DOMelement) {
var img = new Image();
img.src = DOMelement.src;
return {width: img.width, height: img.height};
}
来源:http://www.jacklmoore.com/notes/naturalwidth-and-naturalheight-in-ie/
相关文章:
- 错误:Error:areq定义控制器时参数错误
- 猫鼬的回调()参数错误无效
- parstInt 和 isNaN 函数的参数错误
- 当我尝试在 couchbase nodejs 服务器上运行简单的测试时,我收到“不正确的参数”错误
- window.open 在 IE 中抛出无效参数错误
- D3:在 IE9 中使用 d3.js 出现“无效参数”错误
- “如果 n 大于形式或实际参数的数量,则无法设置参数 [n]”错误的状态
- 尝试在单独的文件中定义控制器时出现错误:ng:areq参数错误
- showModalDialog第三个参数错误
- Angular中的链接承诺.输入参数错误
- 新日期()中的日期参数错误
- Window Open Javascript(参数错误)
- IE8出现JavaScript无效参数错误
- 无效的回发或回调参数错误
- 传递参数错误
- IE9中的函数参数错误
- 谷歌地图GeoCode回调参数错误
- 使用hbs并获得“路径参数”错误.Join必须是字符串
- JavaScript +无效参数错误与fireEvent('onchange')
- IE eventDispatch() SCRIPT87:无效参数.错误