如何触发' .click'事件不止一次?

时间:2014-02-19 10:17:43

标签: javascript jquery events jquery-animate jquery-click-event

$('document').ready(function() {
    $('.button').click(function() {
        $('img').animate({left: "+80px"}, 2000);
    });
});

所以,我对jQuery和其他东西都是一个新手。我想要做的就是每次单击按钮时使图像向右移动。当我运行它时,它第一次运行,但是当我再次单击该按钮时,它仍然保持静止。

我想知道如何多次触发.click事件。

PS:如果值得知道,我在这里提到的按钮实际上是<div>。我无法使用<button>

3 个答案:

答案 0 :(得分:5)

尝试+=

$('img').animate({left: "+=80px"}, 2000);

答案 1 :(得分:1)

尝试on事件:

var doc = $(document);
doc.ready(function() {
    doc.on('click', '.button', function() {
        var imgElem = $('img');
        var imgLeft = parseInt(imgElem.css('left'));
        var distance = 80;
        var newDistance = imgLeft + distance;
        $('img').animate({left: newDistance+'px'}, 2000);
    });
});

编辑:我在“记住”动画如何工作后更改了代码

答案 2 :(得分:0)

$(document).ready(function() {
    $('.button').unbind('click').click(function() {
        $('img').animate({left: "+80px"}, 2000);
        return false;
    });
});

我必须工作。