2

我在 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 数组示例,但无法理解。

4

3 回答 3

4

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

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

...它使用了多个选择器,尽管您可能想向这些元素添加另一个showcase类(?)并将其称为;

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

... 反而。

于 2012-05-14T13:20:43.670 回答
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();
      }
  });
于 2012-05-14T13:23:20.727 回答
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();
    });
}

否则,请选择马特的回答。

于 2012-05-14T13:24:23.233 回答