当通过更改css可以看到Div时,该div上的事件将发生多次

时间:2013-01-02 04:58:18

标签: javascript jquery html hidden

$('nav .show_all').on('click', function() {
    $('#all_pages').
    addClass('active').
    css('opacity', 0).
    animate({
        opacity: 1
    }, 1000);
    Book.all_pages();
    return false;
});



 all_pages: function() { 
 alert ('test1'); // test here is ok
 $('#slider li').click(function() {
 alert ('test2'); // this test is not ok
 });
 }

以上是用户点击nav.showall时的示例,它打开一个div #allpage。这里的错误是当用户关闭div并再次打开它时,函数运行的数量受div关闭数量的影响。

例如,当用户第一次打开div框时,它会提醒一次'test',如果用户打开div框,关闭它,再次打开,它会提醒两次'test'等等。如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

在Javascript中分配全局变量并在点击对象时增加它的计数器,这样你就可以根据需要跟踪这里的虚拟数据:

var i=0;
function your_function(){
     ///.......
     // your code goes here
     if (i % 2 == 0) {
         alert('You Open it :)');
     }
     i++;
}