[英]Setting variables in jquery function
在我的init
中,我设置了一些变量和一个使用这些变量的动画。
如果我想在我的clickSlide
中使用相同的动画/变量怎么办? http://jsfiddle.net/lollero/4WfZa/ (这显然行不通。)
我可以让它成为全球http://jsfiddle.net/lollero/4WfZa/1/ (通过删除var
)
问题是:有没有更好的方法,或者这是完全可以的方法吗?
将变量放在 function 之外,然后获取值
var getWidth ;
var getHeight ;
$(function(){
var slideBox = {
gb: $('#box'),
init: function() {
sb = this,
getBox = sb.gb,
getWidth = getBox.width(),
getHeight = getBox.height();
getBox.animate({ marginLeft: '+='+getWidth }, 600 );
$("#button").on("click", this.clickSlide);
},
clickSlide: function() {
getBox.animate({ marginLeft: '+='+getWidth }, 600 );
}
};
slideBox.init();
});
而不是在 function 中使用,这样您就可以在 clickside function 中获得 vlue
如果你要经常使用它们,我会将它们设为 object 的属性。
您的变量似乎是不必要的,您可以像这样访问所需的一切: http://jsfiddle.net/4WfZa/6/ 。 如果您确实需要存储它们,您可以随时将它们添加到 slideBox object 中,然后将它们填充到 init 中。 通过这种方式,变量存储在 object 中,并且可以在其中的任何函数中使用。
有关 javascript 命名空间的精彩文章,包括如何设置私有和公共变量,请参阅这篇文章。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.