2013-05-30 52 views
1

我有一个固定位置的div,所以我只能看到一个选项卡,当您单击该按钮时,它显示在舞台上的div元素也变得可拖动,到目前为止非常好。现在我正试图让这个元素回到原来的位置,并且我也希望它不会被拖动,而作为一个标签隐藏。我一直试图使用$(some-element).animate(),并且我可以在HTMl上看到它设置了我给他的propierties,但它从来没有动画,我也不知道如何删除拖动函数。我正在学习所有这些东西,如果有人能帮我弄清楚如何做到这一点,我会很感激。非常感谢你们!!。生病离开你我的jQuery代码和小提琴,让你们可以看到发生了什么事情。将可拖动的对象设为其起始位置

jQuery的

$("#minimize").on("click", display); 
function display(){ 
    if(!$("#box").hasClass("draggable")){ 
     $("#box").animate({bottom: "20"}).addClass("draggable"); 
     $(".draggable").draggable();  
     }else{ 
      $("#box").removeClass("draggable"); 
      $("#box").animate({ 
      bottom: -221 
      });  
    } 
} 

这里是TE的js小提琴http://jsfiddle.net/xtatanx/PNEhD/

一些更多的信息:

的元件回流到它的位置,如果你鸵鸟政策拖动它,但如果你周围拖动它它不会回到它的位置。

第二个编辑:

到目前为止,我带着这个,至极是一个很好的改善:http://jsfiddle.net/xtatanx/PNEhD/ 但我会想避免跳的时候风格瑞德尔被重置了,使流体动画的任何地方object is located

回答

3

这是因为可拖动设置顶部位置,并且在可以向底部位置设置动画之前需要清除它,因为顶部仍然设置。

这是你更新的JS

$("#minimize").on("click", display); 

function display() { 
    if (! $("#box").hasClass("draggable")) { 
     $("#box").animate({bottom: "20"}).addClass("draggable"); 
     $(".draggable").draggable();  
    } else { 
     $("#box").removeClass("draggable"); 
     $('#box').css('top', ''); 
     $("#box").animate({ 
      bottom: -221 
     });  
    } 
} 

下面是小提琴的链接:http://jsfiddle.net/PNEhD/1/

+0

哎,这是工作好为止我,但其实我是想不只是去底部,但返回它的起始位置,所以我做了这个http://jsfiddle.net/xtatanx/PNEhD/这实际上是一种工作,我想知道如果tere是一种避免跳跃时,你需要重置顶部和左侧位置时,为了使流体动画! –

+0

看起来你可能已经解决了这个问题,我没有看到任何动作。 –

+0

是啊!我一直在研究它,我终于做到了,它顺利地返回到它的位置动画:)现在我正在处理更多的问题,例如如果调整窗口的大小,可拖动的对象不会移动相对于窗口,到目前为止,我只是使它相对移动时,框中的最小化,但不是当显示框时,它是一个混乱:p –

相关问题