使用xuijs补间回到自动高度

时间:2011-07-03 23:02:50

标签: javascript dom xui

我遇到了为xuijs创建等效slideDown的问题。

使用

轻松完成slideUp(隐藏)
x$('elm').tween({height:'0'});

但似乎无法使用补间恢复到原始高度。

$x('elm').setStyle('height','auto !important');

工作正常但当然没有动画,

x$('elm').tween({height:'auto !important'});

不起作用。 (然而,将高度设置为固定值确实如此,但这不是一个选项)。

有点困在这里,document.getElementById('target_box')。一旦高度被tween或setStyle设置为0,clientHeight就没有帮助。我能想到的唯一解决方案是在div的初始全局崩溃之前将高度存储在数组中。

感谢任何帮助。

(受影响的div使用溢出:隐藏)

的问候,

//吨

2 个答案:

答案 0 :(得分:1)

如果你正在使用html5为什么不在调用补间之前将高度存储为data-属性?

x$.extend({
 'slideUp' : function(){
    this = this[0];
    x$(this).attr('data-h',this.clientHeight);
    x$(this).tween({height:'0'});
 },
 'slideDown' : function(){   
     this = this[0];   
     x$(this).tween({height:x$(this).attr('data-h');});     
  }
});

此代码未经测试,但值得一试。

答案 1 :(得分:1)

不确定你是否解决了这个问题,但我得到了一个解决方案。很确定有更好的方法,但这似乎可以解决问题。

emile.js and xui animation needing double click?

使用emile而不是补间,但是如果你愿意,你可以确定你可以改变它,但emile.js是在xui中。