1

我正在尝试设置一个元素,该元素在单击时将旋转 180 度,然后在再次单击时再次返回。我正在使用的代码如下。显然是不对的,感觉我需要使用 for 循环。

$('#hodgepodge').click(function(){
    var i = 0;
    if (i < 1) {
        $('#hodgepodge').rotate(180);
        var i = 1;
    } else {
        $('#hodgepodge').rotate(0);
        var i = 0;
    }
    });
4

2 回答 2

1

您可以使用 jQuerydata()来跟踪状态,然后切换它:

$('#hodgepodge').on('click', function(){
    $(this).rotate( !$(this).data('state') ? 180 : 0 );
    $(this).data('state', !$(this).data('state'));
});

小提琴

于 2013-08-05T10:22:55.917 回答
0

尝试在click事件之前初始化

var i = 0;
$('#hodgepodge').click(function(){
    if (i < 1) {
        $('#hodgepodge').rotate(180);
        i = 1;
    } else {
        $('#hodgepodge').rotate(0);
        i = 0;
    }
});
于 2013-08-05T10:21:02.370 回答