jquery:点击第二次

时间:2013-02-12 12:10:13

标签: jquery animation click return-value jquery-click-event

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

1 个答案:

答案 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