我是一个jquery新手..我失踪了:在firebug控制台中出现属性id错误后..我不知道这段代码有什么问题..
$('#mytable tr').click(function(){
$(this).animate({padding-left: '+=50px'}, 2000);
}, function(){
$(this).animate({padding-left: '-=50px'}, 2000);
});
答案 0 :(得分:3)
您不能像这样使用padding-left
,您需要"padding-left"
或paddingLeft
作为属性名称,如下所示:
$('#mytable tr').toggle(function(){
$(this).animate({'padding-left': '+=50px'}, 2000);
}, function(){
$(this).animate({'padding-left': '-=50px'}, 2000);
});
或者这个:
$('#mytable tr').toggle(function(){
$(this).animate({paddingLeft: '+=50px'}, 2000);
}, function(){
$(this).animate({paddingLeft: '-=50px'}, 2000);
});
在jQuery中,任何属性都传递到.animate()
或.css()
,其中包含大写gets replaced with -lower
,因此paddingLeft
会转换为padding-left
。
编辑:由于Reigel在评论中指出,您无法将多个功能绑定到click
,我认为您的意思是{{ 3}}这就是我在上面提到的,这在每个click
事件的函数之间交换。
答案 1 :(得分:0)
-
对于对象声明中的文字键无效。你需要用破折号在任何键周围括起括号。
试试这个:
$('#mytable tr').click(function(){
$(this).animate({"padding-left": '+=50px'}, 2000);
}, function(){
$(this).animate({"padding-left": '-=50px'}, 2000);
});
编辑:你的意思是toggle
代替click
吗?