介绍

你好,

我试图开展一些插件 / 目的在javascript,这将控制的一些性质过的一些对象。它还将使用jQuery,以便于发展。

想法

这是在伪给你一个想法,由于我 不能 真的描述它的英语正确的话,这是不可能去和使用谷歌找到了什么我想要使用(和学习).

I will have plugin (maybe object?) with some variables and methods:

  plugin hideshow(startupconfig){
    var c, //collection
    add: function(what){
      c += what;
    },
    do: function(){
      c.show().hide().stop(); //example code
    }
  }

并且我将使用这种方式(或 排序的):

  var p = new Plugin();

  p
   .add($('p#simple'))
   .add($('p#simple2'))
   .do();

注意到

我不是真的找技插件教程-它更像使用情况的一个对象在文件中javascript,这是mentione仅仅是因为它将用于改dom和简化选择。插件也许只是一个小的功能 add.

我在找一些东西,将坐上我的文档,并呼职能从itselft的基础上定时器,或用户的行动,或什么的。

的问题

  1. 我真的不知道从哪里开始 建设 这个物体/插件
  2. 我真的不知道如何维持一个可变的,这是收集最初的对象(喜欢的东西 $('#simple, #simple2');)
  3. 我也许会喜欢extedn jQuery与 $.fn.addToPlugin 使用链接的对象,但这应该是简单的(真的只是 each( p.add($(this)); ))
  4. 我最大的问题是很明显,我不能解释什么我想要的。

我希望我做任何感觉、思想、链接或建议的赞赏。

编辑

这是事情是这样的,我只是不能找出它是怎么叫/使用javascript例如伪PHP:

class Foo() {
  $collection;
  $timer, $action;

  function onTimer(){
    foreach($collection as $e){
      $e->someAction();
    }
  }

  function add($e){
    $collection[] = $e;
  }

  function start(){
    $timer->start( onTimer() );
  }

  function->stop(){
    $timer->stop();
  }
}

var f = new Foo();

Foo.add(something);
Foo.start();
有帮助吗?

解决方案

如果你想写一个单独Javascript, 雅虎的图案模块 应该告诉你一切你需要的。

其他提示

看看 插件/创作.我会说你的提议API是不是真正的"jQuery的方式"。这将更有可能是:

$("#simple, #simple2").hideandshow();

起始点将是:

jQuery.fn.hideandshow = function() {
  return this.each(function(){
    $(this).show().hide().stop();
  });
};

和你基本上完成。

现在叫这个序列的事件并没有真正有意义,但这是另一个问题。

现在的方法链是它变得更有趣一点,我想这是"单独"。现在google i/o大会的情况下--至少对于插件--状态的存在延长在目的本身作为一般规则:

jQuery.effects = [];
jQuery.addeffect = function() {
  for (int i=0; i<arguments.length; i++) {
    if (typeof this[arguments[i]] == "function") {
      this.effects.push(arguments[i]);
    }
  }
};

和访问的插件:

jQuery.fn.do = function() {
  var effects = this.effects;
  return this.each(function(){
    var ob = $(this);
    for (int i=0; i<effects.length; i++) {
      ob = ob[effects[i]]();
    }
  });
};

然后允许:

$.addeffect("hide", "show", "stop");
$("#simple, #simple2").do();

现在这有一个限制能够通过辩论到这些影响。不是很确定如何得到解决。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top