每次模态打开时如何计算按钮的点击次数

时间:2017-10-19 09:40:31

标签: javascript jquery

我在SO上搜索过,我发现question类似于我需要的东西,但没有找到我需要的东西。

我所拥有的是带有按钮的模态,我想计算该按钮的点击次数并执行脚本(滚动顶部)如果该数字是偶数而另一个脚本(向下滚动)。 (因为我试图这样滚动比这种方式更简单,但我失败了:(由于主页上的类似按钮)

所以这就是我所拥有的代码:

<script>

  $('.modal').on('shown.bs.modal', function () {
        var i=0;
         $(function () { 
                    $("#modal_scroll{{ obj.id }}").click(function () {
                       i++;
                        console.log('heeeereeee',i)
                        if (i % 2 === 0) {
                            $('.modal').scrollTop(0);
                        else
                            {
                                $("#modal_scroll{{ obj.id }}").attr('href','#div_{{ obj.id }}')
                            }
                    });
                });
    })

问题是,当隐藏模态时,不会忘记i的旧值。所以这是控制台中第3次点击按钮后显示模态的消息:

heeeereeee 1
heeeereeee 2
heeeereeee 3

这是当模态关闭时在控制台上显示的内容,再次按下按钮3次重新打开:

heeereee 4
heeereee 1
heeereee 5
heeereee 2
heeereee 6
heeereee 3

等等.. 我不知道每次打开模态时如何忘记旧值。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

隐藏模态时删除事件处理程序,否则每次显示模态时都会添加新的事件处理程序。因此,隐藏模态时添加{{1}}应该有效。