将可拖动对象设置为其起始位置

时间:2013-05-30 22:38:36

标签: jquery html css jquery-ui

我有一个固定位置的div,所以我只能看到一个标签,当你点击这个div元素上的按钮时它会在舞台上显示并且也变得可拖动,到目前为止一直很好。现在我试图让这个相同的元素由animaton返回到它的原始位置,并且我还希望它在被隐藏为选项卡时不可拖动。我一直在试用$(some-element).animate(),我可以在HTMl上看到它设置了我给他的东西,但它从来没有动画,我也不知道如何删除可拖动的功能。我正在学习所有这些东西,如果有人能帮我解决一下如何做到这一点,我将不胜感激。非常感谢你们!!。生病了我的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 fiddle http://jsfiddle.net/xtatanx/PNEhD/

更多信息:

如果你没有拖动它,元素会返回到它的位置,但如果你拖动它就不会返回到它的位置。

第二次修改:

到目前为止,我来到这里,这是一个很好的改进:http://jsfiddle.net/xtatanx/PNEhD/ 但是我想避免在roder中重置样式时跳转,以便在对象所在的任何地方制作动画

1 个答案:

答案 0 :(得分: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/

相关问题