2013-05-30 81 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 –

相關問題