我有一个固定位置的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中重置样式时跳转,以便在对象所在的任何地方制作动画
答案 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/