-1

我想在脚本的开头声明几个变量。据我了解,全局变量只能在函数之外创建。下面是我正在使用的代码片段。当 $map 的声明仅在位置 2 时,代码按预期执行,但在位置 1 时它不起作用。除了无法对我的声明进行分组的缺点之外,我想知道这种差异的原因是什么以及它有什么后果

var transMatrix = [1, 0, 0, 1, 0, 0];
var homeMatrix = [1, 0, 0, 1, 0, 0];
var $map = $('svg > g'); //1
$(document).ready(function () {
    var $map = $('svg > g'); //2
    zoomSVG($map, 2);
});
4

1 回答 1

2

您的方法的一个问题1是,它是在 dom 准备就绪之前执行的,我们不确定是否加载了引用的元素,因此它可能不会返回任何元素,这是在 dom 准备好的内部添加 jQuery 代码的原因打回来。

所以最安全的方法是在 dom 就绪处理程序中添加所有试图获取 dom 元素的变量

于 2013-09-10T02:46:52.787 回答