jQuery Animate回调不起作用

时间:2013-06-19 18:34:17

标签: javascript jquery

我似乎无法让这个jQuery回调为我工作。有任何想法吗?顺便说一句,请不要担心变量,我有一个特殊的项目。

$("#" + circle - 1).animate({
    opacity: 0,
    "margin-top": "50",
    height: '150px',
    width: '150px'
 }, 1000, function() {
    $("#" + circle).animate({
        opacity: 1,
        "margin-top": "50",
        height: '150px',
        width: '150px'
    }, 1000);
 });

3 个答案:

答案 0 :(得分:1)

对我来说,1不是有效的ID,例如也可以使用item1item2。像这样(http://jsfiddle.net/balintbako/XSGN8/):

var circle = 2;
$("#item" + (circle - 1)).animate({
    opacity: 0,
    "margin-top": "50",
    height: '150px',
    width: '150px'
}, 1000, function () {
    $("#item" + circle).animate({
        opacity: 1,
        "margin-top": "50",
        height: '150px',
        width: '150px'
    }, 1000);
});

答案 1 :(得分:1)

我认为你的代码工作正常,你的变量有问题。如果$('#' +圈子)找不到任何内容,那么其他任何事情都不会发生。这是你的代码工作,略有修改。

http://jsfiddle.net/qbtDj/1/

$("#mydiv").animate({
  opacity: 0,
  "margin-top": "50",
  height: '150px',
  width: '150px'
 }, 1000, function() {
  $("#mydiv" ).animate({
  opacity: 1,
  "margin-top": "50",
  height: '150px',
  width: '150px'
 }, 1000);
 });

答案 2 :(得分:1)

您在$("#" + circle - 1)中遇到问题,我不确定您要从中扣除1,但我猜您的ID是一个在计算过程中NAN失败的数字{{1}所以将其更改为"#" + circle - 1并尝试:

"#" + (circle - 1)