我目前正在创建一个动画,在其中使用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()的速度,因此无法运行。