Home  >  Q&A  >  body text

javascript - jquery 的slideUp方法没有达到预期效果??

var obj = document.getElementById("Nav_TBObj");//获取一个表格

点击某元素后执行如下函数:

slideUp(obj.rows[0]);
function slideUp(elem){
    $(elem).slideUp(1000);
    
}

问题是为什么点击元素后等1s才会执行slideUp函数??而且是突然消失,并非按照1s的时间缓缓消失??
jquery版本是1.11.3

大家讲道理大家讲道理2771 days ago326

reply all(4)I'll reply

  • 黄舟

    黄舟2017-04-11 10:50:17

    slideUp的动画是通过设置元素css的高度值实现的,而给table元素设置高度值是无效的,所以看不到动画效果。如果要实现,可以在对应的table外面包一层p,然后对这个p元素执行slideUp

    reply
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-11 10:50:17

    $("#Nav_TBObj").on("click",function(){
      $(this).slideUp();
    })
    

    PS:js对象无法调用jQ方法

    reply
    0
  • 黄舟

    黄舟2017-04-11 10:50:17

    参考下面的做法
    http://stackoverflow.com/questions/6600021/jquery-slide-up-table-row

    http://jsfiddle.net/lnrb0b/3t3Na/1/

    reply
    0
  • PHP中文网

    PHP中文网2017-04-11 10:50:17

    table默认的display是table,你把table的display改为block或inline-block后试一下

    reply
    0
  • Cancelreply