初めての jQuery プラグインを作成していて、jQuery オブジェクトを作成したいのですが、作成したばかりのオブジェクトを制御できるようにしたいのです...
ここで推奨される形式に従ってプラグインを構築しています: http://docs.jquery.com/Plugins/Authoring
ここに私のテストコードがあります:
(function($){
var $this = $(this);
var methods = {
init : function( options ) {
// methods.createDiv();
$this = $('<div>TEST CONTENT</div>')
.attr({ 'id':'test' })
.css({'color':'white','backgroundColor': 'red'})
.appendTo("body");
setTimeout(function(){
methods.green();
},
3000
);
return $this;
},
green : function( ) {
$this.css({'backgroundColor': 'green'});
},
blue : function( ) {
$this.css({'backgroundColor': 'blue'});
}
};
$.fn.myPlugin = function( method ) {
if ( methods[method] ) {
return methods[method].apply( this, Array.prototype.slice.call( arguments, 1 ));
} else if ( typeof method === 'object' || ! method ) {
return methods.init.apply( this, arguments );
} else {
$.error( 'Method ' + method + ' does not exist on jQuery.tooltip' );
}
};
})( jQuery );
$(document).ready(function () {
var myTest = $.fn.myPlugin();
myTest.blue();
});
最終的に、myTest 変数を使用して新しく作成された div を制御できるようにしたいのですが、うまくいきません。明らかに欠けている部分や間違いがあると思いますが、それが私がここに投稿している理由です. これは私の最初のプラグインなので、誰かがこのテスト コードを立ち上げて実行するのを手伝ってくれたらありがたいです。現在、firebug レポート:「TypeError: myTest.blue は関数ではありません」