classChanger
jQuery プロトタイプで宣言する必要があります。
$.fn.classChanger = function(path, changeClass, duration) {
$(path).removeClass(changeClass);
return this.addClass(changeClass);
};
詳細については、jQuery プラグイン オーサリング ガイドを参照してください。
更新:コメントで指摘されているようにpath
、セレクターが常に同一であることを意図している場合は、path
完全に放棄し、this
全体で使用する必要があります。
何をしようとしているのかを正確に指定していないので、クラスを削除し、duration
指定されたのを待ってからクラスを再度追加することを想定しています。その場合は、サンプル コードを次に示します。
$.fn.classChanger = function(changeClass, duration) {
var $this = this;
setTimeout(function() {
$this.addClass(changeClass);
}, duration);
return this.removeClass(changeClass);
};
$('.flightDetails .option').classChanger('selected', 300);
これがフィドルです:http://jsfiddle.net/ur7SN/