2013-05-11 86 views
2

更新:放在正确的语法建议,下面的代码现在工作!jquery隐藏工程,但幻灯片不

我有一个foreach在表内生成数据行。每个元素都有一个rowX的id。我想让我的javascript在单击删除后“滑动”数据行。

如果我使用hide();这工作正常,但幻灯片();不管用。

任何想法?

<script type="text/javascript"> 
$("a.delete").click(function(e) 
{ 
    e.preventDefault(); 
    var platform_id = $(this).attr('data-id'); 
    var row = $(this).attr('id'); 

    $.ajax({ 
     type: "POST", 
     url: "platform/delete", 
     dataType: "json", 
     data: 'platform_id='+platform_id, 
     success: function(result){ 
      if (result.success == 1) 
      { 
       $("#row" + row).slideUp('slow'); 
       //document.getElementById(row).style.display = 'none' 
      } 
     }, 
     error: function(result){ 
      alert(result.message); 
     } 
    }); 
}); 
</script> 

回答

3

尝试使用这样的:

$("#row" + row).slideUp('slow'); 
// See the single qoutes here for slow effect 
// Also `U` should be capital in slideUp 

取而代之的是:

$("#row" + row).slideup(slow); 
+0

好了,现在它的工作。但是,它似乎只是一个定时隐藏功能,我实际上没有看到任何动画。这可能是CSS的限制吗?我正在使用themeforest上的模板。 – evade 2013-05-11 19:41:38

+0

您是否在一起使用** hide()**和** slideUp()**函数?为了看到slideUp动画,请不要使用** hide()**函数! – 2013-05-11 19:45:37

+0

我只使用slideUp。不过,我将其更改为fadeOut();它给我一个我想要的结果。 – evade 2013-05-11 19:50:21

1

documentation for slideUpslow应该是一个字符串,即

$("#row" + row).slideUp('slow'); 
+0

谢谢,在我抛出这个问题之前,我已经添加了'slow'参数,对于我来说真正的解决方案就是大写U--我没有意识到它们区分大小写!但你也是正确的'参数'不是参数 – evade 2013-05-11 19:42:31

+0

够公平的,我没有发现套管问题 – Netricity 2013-05-12 21:50:13