我有以下内容,IE告诉我'id'为null或不是对象。在所有其他浏览器中工作正常,以为它可能是IE中的代码格式问题?想法?
function addZoom(region){
$('<img />').addClass(settings.zoomClass)
.attr({
src: settings.blankImage,
id: region.id
}).css({
position: 'absolute',
width: region.width,
height: region.height,
top: region.top,
left: region.left,
cursor: 'pointer'
}).appendTo(map).click(function(){
//hide neighboring bullets and zoomables
var width = settings.width;
var height = settings.height;
if(region.scan){
width = region.scanwidth;
height = region.scanheight;
}
$(this).siblings().fadeOut();
$(this).hide()
.attr('src', region.image)
.fadeIn('slow')
.animate({
width: width,
height: height,
top: '0px',
left: '0px'
}, settings.zoomDuration, '', function(){
displayMap(region);
});
});
}
修改
以下是完整代码:http://dl.dropbox.com/u/27101260/map.js
上述代码段中的id: region.id
错误。
答案 0 :(得分:0)
您的代码中的哪个位置会引发错误?是id: region.id
吗?如果是这样,我认为您的region
变量范围存在问题。这是互联网浏览器众所周知的挑剔。
您可以发布其余代码,特别是分配region
的位吗?
答案 1 :(得分:0)
您正在将区域传递到addZoom
函数。您可以访问region.id
中的attr
。看起来(没有任何附加信息)此时未设置id值。您是否在运行时检查过代码以查看region
是否在正确的范围内(特别是在您致电addZoom
时)?