我已经抽象并隔离了我在我创建的jquery插件中编写的一大块代码。在此代码中,变量'选择器'在循环中的值为' rotator'。我想使用该变量的值来设置在循环外声明的变量旋转器的值。我曾尝试使用窗口,但显然这不起作用。你会怎么做呢?
感谢您对此提供任何帮助,我一直试图解决这个问题。
;(function ( $, window, document, undefined ) {
$.fn.plugin_name = function( options ) {
var rotator;
for ( var selector in selectors ) {
window[selector] = selector_obj;
}
};
})(jQuery);
答案 0 :(得分:1)
无法访问函数的内部范围(如果未绑定到对象)。我建议您将rorator
变量放入一个对象中,例如这里名为collection
,您可以轻松访问:
;(function ( $, window, document, undefined ) {
$.fn.plugin_name = function( options ) {
var collection = {};
collection.rotator = ...;
for ( var selector in selectors ) {
collection[selector] = selector_obj;
}
};
})(jQuery);
答案 1 :(得分:0)
您可以在外部函数中定义您的旋转变量:
(function ( $, window, document, undefined ) {
var rotator;
$.fn.plugin_name = function( options ) {
for ( var selector in selectors ) {
// use rotator here
window[selector] = selector_obj;
}
};
})(jQuery);