我创建了一个JQuery插件来显示可拖动的地图(xy)。
在Firefox上,它可以完美运行,但在任何其他浏览器上都存在错误。
错误: 通常,当网站加载时,应显示地图。 但是除了firefox之外的所有浏览器在你拖动地图之前只有黑屏 它有效。
我不知道如何解决这个问题。
我希望你明白我的意思,如果不看例子(不用firefox),运行它然后拖动黑色输出。
答案 0 :(得分:1)
innerDiv.css('left')
在初始化时设置为auto
(在第一次拖动之前表示)。所以在getVisibleTiles
函数中,mapX
等于NaN
所以不执行double for循环
您只需编辑此内容:
jQuery('<div/>', {
id: 'GameMap',
height: o.InnerDivHeight,
width: o.InnerDivWidth
}).appendTo(obj);
用这个:
jQuery('<div/>', {
id: 'GameMap',
height: o.InnerDivHeight,
width: o.InnerDivWidth,
css: {
left: 0,
top: 0
}
}).appendTo(obj);
另外,如果你想避免对IE产生副作用,你应该删除对象声明结尾处的尾随逗号,就像那两个例子一样:
jQuery('<div/>', {
id: tileName,
style: "some CSS string", // <----- remove this comma or it will break on IE
}).appendTo(innerDiv).text(tileName);
jQuery('<div/>', {
id: 'GameMap',
height: o.InnerDivHeight,
width: o.InnerDivWidth, // <----- this one too
}).appendTo(obj);