0

我在单击切换动画时遇到问题-例如,当您单击一次并且元素向下移动时,第二次单击该元素又向上移动。我尝试了 .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, '-'); 这就是我被困的地方。可能吗?

4

1 回答 1

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 == '-') ? '+' : '-'); 

只要确保transitionStatecarousel_4way.

于 2013-02-12T12:13:42.513 回答