我在切换动画点击时遇到问题 - 比如当您单击一次并且元素向下移动时,在第二次单击时元素会向上移动。我试过.toggle但没有成功,并且提出了这个想法:
我有一个功能可以将“旋转木马”(这是一个按钮)向下移动10px [我使用传输插件]:
function carousel_4way (n, el) {
// remove outline from clicked element
el.blur();
// animation
var carousel = '#carousel-4way-nav-' + n
var carousel_content = '#carousel-4way-' + n
$(carousel_reset).hide();
$(carousel).transition(
{y: '+=10'}
);
然后我点击其中一个旋转木马:
$('#carousel-4way-nav-1').click(function(event){
return carousel_4way(1, this);
event.preventDefault();
});
计算得非常好,我只需要为每个想要动画的按钮定义所有点击。
这样我动画按钮就可以向下移动10px {y:'+ = 10'} 但是我想再次点击它们向上移动所以{y:' - = 10'}是我需要的。
我混合了这样的东西:function carousel_4way (n, el, m) {
$(carousel).transition(
{y: m + '=10'}
);
$('#carousel-4way-nav-1').click(function(event){
return carousel_4way(1, this, '+');
event.preventDefault();
});
现在我只需要添加另一个 return carousel_4way(1,this,' - '); 这就是我被卡住的地方。有可能吗?
答案 0 :(得分:0)
你的意思是:
var transitionState = '-'; // this should be global
// the following will always evaluate to what transitionState currently is not (toggle)
return carousel_4way(1, this, (transitionState == '-') ? '+' : '-');
确保更新transitionState
中的carousel_4way
。