-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

以这种方式使用的toggle()函数已在 jQuery 1.9 中删除,现在只显示和隐藏元素。我们不可能知道 PHP 输出的内容,但您通常不应该使用短标签?

另请注意,您在单击中绑定单击,并且每次单击.link*元素时,都会将新的事件处理程序绑定到.sub元素。

于 2013-05-21T11:46:09.910 回答
0

在单击链接之前,请使用浏览器上的开发人员工具并确保侦听器已实际添加到控件上。另外,“什么都不做”是什么意思?你的期望是什么?

于 2013-05-21T11:47:24.080 回答