我正在使用jQuery 1.6.2和ColdFusion 9.
请求页面时,包含许多文件.几个文件包含jQuery文档就绪方法.我想设置一些我可以在整个页面中使用的全局变量.例如,我想将这些变量用于我的幻灯片:
SlideUpRate = 400;
SlideDownRate = SlideUpRate * 2;
Run Code Online (Sandbox Code Playgroud)
似乎这种方式不一致.有没有办法让它一致地运作?
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
在index.cfm文件中,我设置了我的全局变量,可以在整个渲染页面中的其他jQuery中使用和重用它们.
<script type="text/javascript">
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
});
Run Code Online (Sandbox Code Playgroud)
and*_*lrc 20
是的,您可以将它们添加到全局命名空间:
var globalVar1;
$(document).ready(function(){
globalVar1 = "something";
});
$(document).ready(function(){
alert(globalVar1);
});
Run Code Online (Sandbox Code Playgroud)
如果您不想使用乘法变量污染全局范围,可以使对象包含这些变量:
var vars = {};
Run Code Online (Sandbox Code Playgroud)
然后在您的ready函数中向vars对象添加变量.
$(document).ready(function(){
vars.my_variable_1 = "something";
});
Run Code Online (Sandbox Code Playgroud)
另一个ready功能:
$(document).ready(function(){
alert(vars.my_variable_1);
});
Run Code Online (Sandbox Code Playgroud)
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";
});
Run Code Online (Sandbox Code Playgroud)
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);
});
Run Code Online (Sandbox Code Playgroud)
http://jsfiddle.net/aalouv/QDPAm/2/
| 归档时间: |
|
| 查看次数: |
7336 次 |
| 最近记录: |