jQuery插件:在函数中使用时,默认选项返回未定义

时间:2019-04-10 18:19:12

标签: jquery

我目前正在创建一个动画,在其中使用jquery插件代码逐渐淡出屏幕。但是,当我尝试将速度选项传递给在文本中淡入淡出的函数时,将返回“ undefined”(而不是我输入的数字)。我已将我的插件与我创建的其他插件进行了比较,但尚未找到解决方案。任何帮助将不胜感激。

我试图将self和this添加到$ textContainer和speed参数中,希望此问题是属性问题。

// JQUERY插件

$.fadeInText = function(options, fadeText)
{

    this.$textContainer = $(fadeText);

    this._init(options);

}

$.fadeInText.defaults = 
{
    //OPTION that is returning undefined
    speed: 1000 
};

$.fadeInText.prototype =
{

    _init : function(options) {

        this._fadesText();

    },


    // FUNCTION currently giving me trouble

    _fadesText : function($textContainer, speed) {

        console.log(this.speed); // returns "undefined"
        this.$textContainer.fadeIn(this.speed);

    }

};

// HTML代码

 <p id="intro1">Hello</p>
 <p id="intro2">Welcome to my website</p>
 <p id="intro3">My name is Towermoni</p>

// HTML页面中的脚本部分

 $('#intro1').fadeInText({
     speed: 1000
 });

 $('#intro2').fadeInText({
     speed: 5000
 });   

 $('#intro3').fadeInText({
     speed: 8000
 });

我希望在控制台中接收到值1000、5000和8000,并让文本依次出现,但是在控制台中,我收到“ undefined”,“ undefined”和“ undefined”,并且动画确实由于未定义fadeIn()的速度,因此无法运行。

0 个答案:

没有答案