在jquery插件中设置fadeOut speed

时间:2015-12-29 18:10:49

标签: javascript jquery

我正在编写一个jquery插件,我想用用户最喜欢的速度设置fadeOut。我在我的html文件中有这个代码:

$("div").test({
       fadeOutSpeed:"2"
    })

这样的东西是我的jquery插件文件:

    (function($) {
        $.fn.test = function(action) {
            var setting = $.extend({
                fadeOutSpeed: "2",
            }, action);
            this.each(function() {
                var element = $(this);
                element.click(function() {
                    element.slideUp(setting.fadeOutSpeed);
                });
            });
        }
    })(jQuery)

它不起作用,用户无法设置最喜欢的速度来淡出div元素。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您的脚本中有一个未定义的变量element

如果您定义变量,那么事情就可以了:

(function($) {
    $.fn.test = function(action) {
        var setting = $.extend({
            fadeOutSpeed: "2",
        }, action);
        this.each(function() {
            var element = $(this);
            element.click(function() {
                element.slideUp(setting.fadeOutSpeed);
            });
        });
    }
})(jQuery)

请注意,slideUp中的速度是毫秒,因此您可能希望以较慢的时序测试脚本,例如:

$("div").test({
    fadeOutSpeed: 2000
})