1

プラグインを作成していますが、関数内にコンソールを配置すると結果が得られません。

どうした?誰でも私が見つけるのを助けることができますか?

私のコード:

(function ($){
    $.fn.slideIt = function () {
        this.fadeOut('normal', function(){
            console.log(this);
        });

}
})(jQuery);

ここにフィドルがあります

4

3 に答える 3

1

jsFiddleが正しく作成されていません。HTMLボックスにはHTMLのみを含める必要があり、JavaScriptをJavaScriptボックスに入れます。

問題は、slideIt宣言される前に電話をかけていたことです。

更新された例は次のとおりです:http://jsfiddle.net/RW8R3/1/

于 2012-09-20T14:10:51.567 に答える
0

ドキュメントの準備完了イベントを使用します。コール プラグインの場合、div は存在しません。

$(function(){
    $('#slideContainer').slideIt();
});

デモ: http://jsfiddle.net/RW8R3/2/

于 2012-09-20T14:15:16.810 に答える
0

あなたは「jQueryの魔法」を壊しています。プラグインは次のようになります。

(function($) 
{
    $.fn.slideIt = function()
    {
        return this.each(function()
        {
            $(this).fadeOut('normal', function()
            {
                console.log($(this));
            });
        });
    }
})(jQuery);

$('#slideContainer').slideIt();​

そうしないと、 $('#slideContainer').slideIt().fadeIn("slow") のようなことはできません。

作業デモはこちら

于 2012-09-20T14:54:11.737 に答える