Javascript 不带显示/隐藏选项的切换方法

Javascript 不带显示/隐藏选项的切换方法,javascript,jquery,Javascript,Jquery,如何使用.toggle()方法,但不用于显示和隐藏目的 例如,当我单击某个div时,我希望对其位置设置动画 $(div).animate({“左”:“+=50px”})然后在第二次单击时返回位于相同位置的div$(div)。动画({“left”:“-=50px”}) 我知道还有其他解决方案,但我想通过.toggle()实现这一点,而不隐藏显示div的命令。有什么想法吗? $(“#myDiv”).toggle(函数(){ $(this).stop().animate({ 左:“+=50” }, 5

如何使用
.toggle()
方法,但不用于显示和隐藏目的

例如,当我单击某个div时,我希望对其位置设置动画
$(div).animate({“左”:“+=50px”})
然后在第二次单击时返回位于相同位置的div
$(div)。动画({“left”:“-=50px”})

我知道还有其他解决方案,但我想通过
.toggle()
实现这一点,而不隐藏显示div的命令。有什么想法吗?

$(“#myDiv”).toggle(函数(){
$(this).stop().animate({
左:“+=50”
}, 500);
},函数(){
$(this).stop().animate({
左:“-=50”
}, 500);
});
#myDiv{
背景色:黑色;
宽度:100px;
高度:100px;
位置:绝对位置;
左:50px;
}

自1.9版以来,没有使用click的切换功能。但您仍然可以使用两种方法来实现这一点:

$(函数(){
//基本方法
var=false;
$('#mydiv1')。单击(函数(){
如果(单击){
单击=假;
$(this.animate({“left”:“+=50px”});
}否则{
单击=真;
$(this.animate({“left”:“-=50px”});
}
});
//像旧的内置函数一样创建新函数
$.fn.clickToggle=函数(func1,func2){
var funcs=[func1,func2];
此.data('toggleclicked',0);
单击(函数(){
var data=$(this.data();
var tc=data.toggleclicked;
$.proxy(funcs[tc],this)();
data.toggleclicked=(tc+1)%2;
});
归还这个;
};
$('#mydiv2')。单击切换(函数(){
$(this.animate({“left”:“+=50px”});
},函数(){
$(this.animate({“left”:“-=50px”});
});
});
#mydiv1{
背景颜色:黄色;
宽度:50px;
高度:50px;
位置:绝对位置;
左:100px;
}
#mydiv2{
背景颜色:蓝色;
宽度:50px;
高度:50px;
位置:绝对位置;
左:200px;
顶部:100px;
}


谢谢您的回答。但我不喜欢将类与CSS一起使用。我希望通过糟糕的jQuery实现这一点。有什么想法吗???您可以使用
click()
if
/
else
谢谢。优秀-创建新的函数示例。