我如何在JavaScript中循环这个?

时间:2011-08-26 15:08:51

标签: javascript

所以我有一个onclick事件,然后是同一次点击的另一个事件。基本功能的工作原理如下:

1)点击图片 - 放大700% 2)再次点击图片 - 缩放100% 3)再次单击图像 - 缩放100%

我希望步骤3恢复到步骤1,然后再回到2等。现在,它只是永远重复步骤2而不是恢复为默认值。

以下是代码:

$(document).ready(function() {
    $(".zoomTarget").debug();
    $(window).resize(function(evt) {
        $(".zoomTarget").debug();
    });
    $(".zoomTarget").click(function(evt) {
        evt.stopPropagation();
        $(this).zoomTo({
            targetsize: 5.0
        }); {
            $(".zoomTarget").click(function(evt) {
                evt.stopPropagation();
                $("body").zoomTo({
                    targetsize: 1.0
                });
            });
        }
    });
    $(document).click(function(evt) {
        evt.stopPropagation();
        $("body").zoomTo({
            targetsize: 1.0
        });
    });
    $("body").zoomTo({
        targetsize: 1.0
    });
};

1 个答案:

答案 0 :(得分:0)

我个人会在ready函数中使用布尔来跟踪我所处的状态,然后在处理程序中切换它:

var zooming_in=true;
$(".zoomTarget").click(function(evt) {
     evt.stopPropagation();
     $(this).zoomTo({
          targetsize: (zooming_in=!zooming_in)?5.0:1.0
     });
});