-6

すでに多くの質問があることは知っていますが、答えが見つかりませんでした。

jsFiddleの私のコードは機能しますが、自分のウェブサイトで使用したい場合は機能しません:s、何が問題なのかわかりません (エンコーディングではなく、js がボディにロードされている場合も同様です。 ..)

2 つのケース:

1 : $(document).ready がありません

いずれにせよ、何も起こりませんでした。

2 : $(document).ready なし

「Et c'est reparti !」をクリックすると たとえば、最初の条件は完了していますが、もう一度クリックしても何も起こりませんが、2 番目の条件はアクティブにする必要があります :(

JavaScript:

function afficherToggle(c){
    if($(c).height()!='20'){
        $(c).stop().animate({ height: '20px',}, 600 );
    }
    else{
        $(c).animateAuto("height", 800); 
    }
}

jQuery.fn.animateAuto = function (prop, speed, callback) {
    var elem, height, width;
    return this.each(function (i, el) {
        el = jQuery(el), elem = el.clone().css({
            'height': 'auto'
        }).appendTo('body');
        height = elem.css('height'),
        elem.remove();

        if (prop === 'height') el.animate({
            "height": height
        }, speed, callback);
    });
}

お手伝いありがとうございます !

Ps : 私の英語で申し訳ありません。不明な点があれば、他の言葉で説明しようと思います。

4

2 に答える 2

4

スクリプトの最後で$(document).readyaddを閉じませんでした。});

于 2013-03-19T15:15:42.437 に答える
0

ファイアーバグを見てください。ReferenceError: afficherToggle が定義されていません。サイトに jQuery UI 1.9.2 ライブラリが必要な場合があります

于 2013-03-19T15:17:45.880 に答える