代码之家  ›  专栏  ›  技术社区  ›  Remy

用函数而不是静态属性初始化jQuery插件属性?

  •  2
  • Remy  · 技术社区  · 14 年前

    我想用函数而不是静态属性初始化jQuery插件。
    它的工作原理如下:

    $("#sliderPrice").slider({
        step: 1,
        smooth: true,
        limits: false,
        scale:  ['24h', '48h', '3 days', '1 week']
    });
    

    我要做的是:

    $("#sliderPrice").slider({
        step: 1,
        smooth: true,
        limits: false,
        scale:  function(){ return some custom array; }
    });
    

    有可能吗?
    我用的是 Slider 来自Egor Khmelev。

    1 回复  |  直到 14 年前
        1
  •  2
  •   jAndy    14 年前

    你可以 self-invoke 不修改原始代码的函数:

    $("#sliderPrice").slider({
        step: 1,
        smooth: true,
        limits: false,
        scale:  (function(){
           return [5,4,3,2,1];
        }())
    });
    

    您基本上可以在自调用匿名函数中执行任何操作。创建、修改或映射现有数组并最终返回它。外括号是不必要的,但它是一个方便的方式告诉任何人谁在看你的代码,有东西在那里。