繁体   English   中英

在 jquery function 中设置变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM