用jQuery的Sinus曲线

时间:2013-11-23 21:42:39

标签: javascript jquery

我找到了这段代码,并提出以下问题:

  1. p在功能(p)中代表什么?
  2. {路径:新的SineWave} 这个表达意味着什么,路径代表什么?
  3. 是什么 示例代码中的stop()goof?
  4. 仅在firefox中

    js fiddle

    JS

    $(document).ready(function(){
    
    window.SineWave = SineWave = function() {
      this.css = function(p) {
        s = Math.sin((p-1)*50);
        x = (100 - p*100) * 10;
        y = s * 20;
        return {top: y + "px", left: x + "px"};
      } 
    }
    
    window.loop = loop = function(){       
            $("#nyan").stop().animate(
            {path: new SineWave}, 
            50000, 
            "linear"
    
        );
    }
    
    loop();
    });
    

1 个答案:

答案 0 :(得分:3)

  

p在功能(p)中代表什么?

这只是一个参数名称。

然后,如果您调用this.css(123)之类的函数,p将变为123


  

{path: new SineWave}意味着什么,路径是什么   代表什么?

我创建了一个具有属性"path"的对象。

例如

var obj = {
   a: 123
}
obj.a; // 123
abj['a']; // 123

在您的情况下,该值是另一个对象(而不是数字123),它是SineWave构造函数的一个实例。这意味着它从SineWave.prototype继承了属性和方法。


  

示例代码中的stop()傻瓜是什么?

.stop()jQuery method停止匹配元素上当前正在运行的动画。