我可以设置全局变量并在其他文档就绪事件中使用它们吗?

我正在使用jQuery 1.6.2和ColdFusion 9。

请求页面时,包含许多文件。 几个文件包含jQuery文档就绪方法。 我想设置一些我可以在整个页面中使用的全局变量。 例如,我想将这些变量用于我的幻灯片:

SlideUpRate = 400; SlideDownRate = SlideUpRate * 2; 

似乎这种方式不一致。 有没有办法让它一致地运作?

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

在index.cfm文件中,我设置了可以在整个呈现页面中的其他jQuery中使用和重用的全局变量。

  var SlideUpRate = 250; var SlideDownRate = SlideUpRate * 2; var HideRate = 250; var ShowRate = HideRate * 2; var ImageUnsaved = "layout/checkbox_unsaved.png"; var ImageSaved = "layout/checkbox_saved.png"; $(document).ready(function() { // other jQuery stuff }); 

是的,您可以将它们添加到全局命名空间:

 var globalVar1; $(document).ready(function(){ globalVar1 = "something"; }); $(document).ready(function(){ alert(globalVar1); }); 

http://jsfiddle.net/QDPAm/

如果您不想使用乘法变量污染全局范围,可以使对象包含这些变量:

 var vars = {}; 

然后在ready函数中向vars对象添加变量。

 $(document).ready(function(){ vars.my_variable_1 = "something"; }); 

另一个readyfunction:

 $(document).ready(function(){ alert(vars.my_variable_1); }); 

http://jsfiddle.net/aalouv/QDPAm/1/

我不明白为什么你的例子不适用。 也许是因为你试图在设置之前访问一些变量?

 var vars = {}; $(document).ready(function(){ alert(vars.my_variable_1); // undefined }); $(document).ready(function(){ vars.my_variable_1 = "something"; }); 

http://jsfiddle.net/aalouv/QDPAm/3/

在没有var指示符的情况下创建变量也会将变量添加到全局范围,因此您可以使用: window或之前没有任何命名空间来访问变量。

 $(document).ready(function(){ my_variable_1 = "something"; }); $(document).ready(function(){ alert(window.my_variable_1); alert(my_variable_1); }); 

http://jsfiddle.net/aalouv/QDPAm/2/

Evik,

我使用对象文字来存储局部变量,如下所示:

  var pageProperties = { slideUpRate: 250, hideRate: 250, imageUnsaved: "layout/checkbox_unsaved.png", imageSaved: "layout/checkbox_saved.png", getSlideDownRate: function() { return slideUpRate * 2; }, showRate : function() { return hideRate * 2; } }; 

现在,当您想要访问这些页面级别时,您将使用对象文字:

 pageProperties.slideUpRate; pageProperties.getSlideDownRate(); 

将计算出的速率放在函数中可以获得的一个好处是,您可以封装function并使这些function更易于维护和移植。

我要做的另一件事是通过使用更多对象文字来清理多个$(document).ready函数,如Rebecca Murphey撰写的这篇博客文章所述: http : //blog.rebeccamurphey.com/2009/10/15/using -objects-to-organiz-your-code 。