我创建了一个 JQuery 插件来显示可拖动的地图 (xy)。
在 Firefox 上它可以完美运行,但在任何其他浏览器上都存在错误。
错误:通常应在站点加载时显示地图。但是在除firefox之外的所有浏览器上只有一个黑屏,直到你拖动地图,然后它才能工作。
我不知道如何解决这个问题。
示例:http: //jsfiddle.net/X42Wf/
我希望你明白我的意思,如果不看示例(不是使用 firefox),运行它然后拖动黑色输出。
我创建了一个 JQuery 插件来显示可拖动的地图 (xy)。
在 Firefox 上它可以完美运行,但在任何其他浏览器上都存在错误。
错误:通常应在站点加载时显示地图。但是在除firefox之外的所有浏览器上只有一个黑屏,直到你拖动地图,然后它才能工作。
我不知道如何解决这个问题。
示例:http: //jsfiddle.net/X42Wf/
我希望你明白我的意思,如果不看示例(不是使用 firefox),运行它然后拖动黑色输出。
innerDiv.css('left')
设置为初始化时(意味着在第auto
一次拖动之前)。所以在getVisibleTiles
函数中,mapX
等于NaN
所以不执行双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);