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

Javascript 当通过更改css可以看到Div时,该Div上的事件将发生多次,javascript,jquery,html,hidden,Javascript,Jquery,Html,Hidden,上面是用户单击nav.showall时打开div#allpage的示例。这里的错误是当用户关闭div并再次打开它时,函数运行的次数会受到div关闭次数的影响 例如,当用户第一次打开div框时,它将警告一次“测试”,如果用户打开div框,关闭它,然后再次打开,它将警告两次“测试”,依此类推。如何解决此问题?在Javascript中指定一个全局变量,并在单击对象时增加它的计数器,以便您可以根据需要跟踪此处为虚拟数据: $('nav .show_all').on('click', function()

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


例如,当用户第一次打开div框时,它将警告一次“测试”,如果用户打开div框,关闭它,然后再次打开,它将警告两次“测试”,依此类推。如何解决此问题?

在Javascript中指定一个全局变量,并在单击对象时增加它的计数器,以便您可以根据需要跟踪此处为虚拟数据:

$('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
 });
 }

你能用计算机模拟这个问题吗?谢谢您您的代码片段看起来不错,问题一定在其他地方。页面中是否有AJAX再次重新加载相同的代码?再次调用的同一处理程序将触发的次数与调用的次数相同。是否通过其他事件多次添加单击事件?抱歉。我去吃午饭了,这个函数已经有好几次没有启动了,但是它里面的所有事件都有,比如在这个例子中的点击事件。你可以添加一个警报,看看它是否会弹出两次。这会更容易。另外,我认为if语句中的
$
不应该存在。
var i=0;
function your_function(){
     ///.......
     // your code goes here
     if (i % 2 == 0) {
         alert('You Open it :)');
     }
     i++;
}