制造全局变量的问题
Problems making global variable
我对JavaScript和Jquery还很陌生,但如果有人能帮我,我会非常感激,因为我已经为这个问题挣扎了好几个小时了。
我有一个函数,它是一个更大的插件函数的一部分(如果有人熟悉的话,Gaya的QueryLoader2)。在我所看到的函数中,有一部分可以获得页面中加载项目的百分比值:
var completeImageLoading = function () {
qLdone++;
var percentage = (qLdone / qLimageCounter) * 100;
if (qLoptions.percentage == true) {
$(qLpercentage).text(Math.ceil(percentage) + "%");
}
if (qLdone == qLimageCounter) {
destroyQueryLoader();
}
}
"var percentage"部分是我需要gloabal的部分,因此数字百分比值可以由完全不在这个函数中的另一个函数使用(实际上是在另一个Javascript文件中)。我试过删除"var",但没用。
如果有人能帮忙,我真的很感激!感谢
函数外放置:
var percentage;
在您的函数内放入(无var
):
percentage = (qLdone / qLimageCounter) * 100;
基本上,在JavaScript中,与函数在同一位置声明的局部变量可以在该函数内部使用(读取和写入)。使用这种局部变量的函数称为闭包。
试试这个
var percentage;
var completeImageLoading = function () {
qLdone++;
percentage = (qLdone / qLimageCounter) * 100;
if (qLoptions.percentage == true) {
$(qLpercentage).text(Math.ceil(percentage) + "%");
}
if (qLdone == qLimageCounter) {
destroyQueryLoader();
}
}
如果你发送更多关于你的脚本的信息会更容易帮助你,但我还是会尝试的
首先,您对未定义的全局变量return做了错误的处理
看看这个http://jsfiddle.net/WyShw/3/,变量已定义(无论在哪里),并且正在返回值。只是在调用变量之前验证了您是否正在调用函数(completeImageLoad()),因为在这种情况下,您不需要定义变量,它是在调用函数completeImageLoading()时定义的。我们定义了一个默认值,以防我们从未在函数中调用它。
相关文章:
- 将 Ajax 数据分配给全局变量时出现问题
- 局部全局变量问题 - JavaScript
- Javascript全局变量问题
- 制造全局变量的问题
- javascript问题中的全局变量
- 在匿名函数中使用全局变量的 JavaScript 问题
- jQuery - 全局变量的问题
- 夜巡中的全局变量.节点.js的 for 循环中出现问题
- 将模块安装为全局变量时遇到问题 -- /usr/bin/env 不是目录
- 全局变量 VS Web 应用中的本地存储和内存问题
- jQuery在函数AJAX函数内部的全局变量有问题
- 使用事件处理程序(基本Javascript)时出现全局变量问题
- 试图覆盖全局变量时出现jQuery.post()作用域问题
- 如何通过闭包问题来增加全局变量
- JS -访问全局变量问题
- JavaScript全局变量作用域问题
- 全局变量在按下按钮时没有改变(作用域问题)
- JavaScript全局变量未定义问题
- 数据源查询回调问题(调用顺序,改变全局变量的能力)
- 访问全局变量和异步问题