在jquery中创建一个数组

时间:2012-05-14 13:18:11

标签: jquery arrays

我在jQuery中有一个函数

  jQuery(function () {
      jQuery(".one").showcase({
          animation: { type: "fade" },
          titleBar: { autoHide: false },
          navigator: { autoHide: true }
      });
      prettyPrint();
      jQuery(".two").showcase({
          animation: { type: "fade" },
          titleBar: { autoHide: false },
          navigator: { autoHide: true }
      });
      prettyPrint();
      jQuery(".three").showcase({
          animation: { type: "fade" },
          titleBar: { autoHide: false },
          navigator: { autoHide: true }
      });
      prettyPrint();
  });

现在请注意上面的代码。我重复三次展示功能。我想通过数组创建一次函数。怎么可能呢。我看到了jQuery数组的例子,但是无法理解。

3 个答案:

答案 0 :(得分:4)

最好的方法不是使用数组,而是改变jQuery选择器以同时定位所有3;

  jQuery(".one,.two,.three").showcase({
      animation: { type: "fade" },
      titleBar: { autoHide: false },
      navigator: { autoHide: true }
  });
  prettyPrint();

...使用multiple selector,但您可能希望将另一个类添加到这些元素showcase(?)并将其称为;

  jQuery(".showcase").showcase({
      animation: { type: "fade" },
      titleBar: { autoHide: false },
      navigator: { autoHide: true }
  });
  prettyPrint();

......而不是。

答案 1 :(得分:2)

你可以这样做:

  jQuery(function () {
      var arObj = ['.one','.two','.three'];

      for(var i = 0; i< arObj.length ; i++){
          jQuery(arObj[i]).showcase({
              animation: { type: "fade" },
              titleBar: { autoHide: false },
              navigator: { autoHide: true }
          });
          prettyPrint();
      }
  });

答案 2 :(得分:1)

如果您需要基于阵列的解决方案,可以执行以下操作:

jQuery.each([".one", ".two", ".three"], function(index, value) {
    jQuery(value).showcase({
        animation: { type: "fade" },
        titleBar: { autoHide: false },
        navigator: { autoHide: true }
    });
    prettyPrint();
});

...或:

function fadeAll(arr) {
    jQuery.each(arr, function(index, value) {
        jQuery(value).showcase({
            animation: { type: "fade" },
            titleBar: { autoHide: false },
            navigator: { autoHide: true }
        });
        prettyPrint();
    });
}

否则只要按照马特的回答。