-1

次の jQuery は何もしません。コンマか何かを逃しましたか?

<script>
$(".link<? echo $counter; ?>").click(function () {
    $('.sub').toggle(function () {
        $(".sub<? echo $counter; ?>").animate({
            height: ($(this).parent().height() * <? echo(count($$vari)); ?> ) + 20
        }, 1000);
    }, function () {
        $(".sub<? echo $counter; ?>").animate({
            height: 0
        }, 1000);
    });
});    
</script>

コンソールはエラーを表示せず、コードを次のように変更すると

<script>
$(".link<? echo $counter; ?>").click(function() {
$(".sub<? echo $counter; ?>").animate({
height: ($(this).parent().height() * <? echo (count($$vari)); ?>) + 20
}, 1000 );
});
</script>

スクリプトは機能します(もちろんトグルを除く)

4

2 に答える 2

0

リンクをクリックする前に、ブラウザーで開発者ツールを使用して、リスナーが実際にコントロールに追加されていることを確認してください。また、「何もしない」とはどういう意味ですか? あなたの期待は何ですか?

于 2013-05-21T11:47:24.080 に答える
0

そのtoggle()ように使用された関数は jQuery 1.9 で削除され、要素の表示と非表示のみになりました。PHP の出力を知ることは不可能ですが、通常はショートタグを使用しないでください。

また、クリック内にクリックをバインドしていることに注意してください。.link*要素がクリックされるたびに、新しいイベント ハンドラーが.sub要素にバインドされます。

于 2013-05-21T11:46:09.910 に答える