目前我遇到了一些逻辑问题。 假设我有一个对象,其中为我的图 block 引擎存储多个 map 数据,以及一个计算单击图 block 的 x 和 y 位置的 jQuery 扩展。
$(document).ready(function(){
var mapdata = {
dimensions: {x: 10, y: 10},
tileSize: 32
};
$.fn.getpos = function(type){
var xpos = $(this)%mapdata.dimensions.y;
var ypos = Math.floor($(this)/mapdata.dimensions.y);
else if(type == 'x')
return xpos;
else if(type == 'y')
return ypos;
else
return {x: xpos, y:ypos}
}
$('.tile').click(function(){
console.log($($(this).index('.tile')).getpos());
});
});
这个问题对我来说很清楚。我正在尝试访问在 getpos() 范围内不可用的 mapdata 对象。我有办法完成这个吗?否则,我需要将 map 数据传递给我要制作的每个扩展。
提前谢谢您。 真诚的, 托马斯
最佳答案
当您定义 getpos() 函数时,它会同时继承作用域,因此现在定义的 Mapdata 应该对其可见。
尝试在 getpost() 中使用 console.log($(this)) 。也许它具有您在数学运算中意想不到的值(value)。
关于javascript - 跨 jQuery 插件共享 Javascript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12747987/