0

SilverStrips CMS を使用しています。私の目標は、それらを展開するために使用されるリンクを持つ、折りたたまれた状態で始まる動的な一連の div を作成することです。jQuery slideToggle() 関数を使用しようとしていますが、関数形式で正しく動作させるのに問題があります。これが私が持っているものです。

ヘッドタグ:

$(document).ready(function(){
    (function($){
        $.fn.collapse = function(itemid){
            $(itemid).slideToggle();
        };
    })(jQuery);
});

そして、動的に生成された ID を使用して関数 collapse() を呼び出す onclick イベントを持つようにリンクを設定しました。

<h3><a href"javascript:void(0)" onclick="collapse(div#itemid)">$Title</a></h3>

関数を正しくフォーマットしたかどうかはわかりません。

4

2 に答える 2

1

その関数を作成する方法では、次のように呼び出す必要があります。

$("any selector here").collapse("div#itemid")

これはおそらくあなたが望むものではありません。代わりに、これを試してください:

    $.fn.collapse = function(){
        $(this).slideToggle();
    };

次に、次のように呼び出すことができます。

$('div#itemid').collapse()

http://jsbin.com/ozacoq/1/edit


理想的には、ハンドラーをインラインで接続しないことも検討する必要があります。このようなもの:

$("a.somelink").click(function(){
    $('div#itemid').collapse();
});
于 2012-11-11T21:51:40.800 に答える
0

あなたの問題はここにあると思います

<h3><a href"javascript:void(0)" onclick="collapse(div#itemid)">$Title</a></h3>

そうあるべきだと思います

<h3><a href="javascript:void(0)" onclick="collapse('div#itemid')">$Title</a></h3>

最初のCSSに含まれていないことを確認してください

{height:0px;}

それは持っているべきです

{display:none;}

代わりに、トグルは高さを何に切り替えるかわかりません。


また、このような関数を作成してみませんか?

$(document).ready(function(){

    function collapse(itemid){
        $(itemid).slideToggle();
    };

});
于 2012-11-11T21:43:30.467 に答える