0

http://jsfiddle.net/w6eqk/1/

コンテンツをその高さまで拡張したい (固定ではありません)。私は自分でこれを行いました。また、http://jsfiddle.net/w6eqk/1/でその解決策を見つけ、期待どおりに正常に動作しています。しかし、それを複製するとめちゃくちゃになりました。トグル展開機能を複数回表示したい。シングルのみでは正常に動作しますが、マルチでは正常に動作しません。マルチコンテンツのデモリンクはこちらです。http://jsfiddle.net/w6eqk/129/

4

2 に答える 2

0
$(document).ready(function() {
    $('div.view').each(function(){
        $(this).removeClass('view');
        var innerh= $(this).height();
        $(this).next().toggle(function(){
            $(this).prev().animate({height: innerh},200);
        },function(){
            $(this).prev().animate({height:40},200);
        });
        $(this).addClass('view');
    });
});​

代わりにこれを試してください。要素がクリックされるたびに toggle メソッドが起動します

于 2012-06-24T19:11:45.550 に答える
0

これを試して、コードを少し更新してください(この効果を達成するには)

$(document).ready(function() {
    $('div.slide').click(function() {
        $('div.view').each(function(i){
            var $dV = $(this);
            $dV.removeClass('view');  
            var innerHeight = $dV.height();
            $dV.addClass('view');
            if(!$dV.data('innerHeight')) $dV.data('innerHeight', innerHeight);
            $dV.animate({
                height: (($dV.height() == 40)? $dV.data('innerHeight')  : "40")
            }, 500);
        });
    });    
});​

デモ。

于 2012-06-24T19:36:11.123 に答える