n次点击,n次重复点击功能,为什么?

时间:2012-08-01 08:45:58

标签: jquery click repeat

您好我正在使用此代码:

    jQuery(document).ready(function(){
var number = 1;
///////////////////////////////////////////////////
    /* The button to see the single portfolio items */
jQuery('.cover a').unbind("click").click(function (coverclick){

    coverclick.preventDefault();
    coverclick.stopPropagation();
    coverclick.stopImmediatePropagation();
    number ++;
    /* Get the link */
    var coverlink = jQuery(this).attr('href');
    jQuery('.loadmask').show();
    jQuery('.loadmask-msg').show();
    jQuery('.upperdiv').animate({height : 'hide', opacity : 'hide', easing:   'EaseOutBounce'},'slow', function(){                                      jQuery('.upperdiv').html('');});
    jQuery('.upperdiv').load(coverlink+' .loading_div');
    jQuery('.upperdiv').ajaxComplete(function() {
        var  slideClass = 'all_project_images' + number;
        var  dentroClass = '.' + slideClass;
        jQuery('html,body').stop().animate({
                    scrollTop: jQuery(this).offset().top},
                    'slow');
        jQuery('.post_nav_portfolio').show();
        jQuery('.slideshow ul').removeClass().addClass(slideClass);
        jQuery(dentroClass).stop(false,true).responsiveSlides({
                    auto: true,
                    nav: true,
                    speed: 500});   
        jQuery('.upperdiv').animate({height : 'show', opacity : 'show', easing: 'EaseInBounce'},'slow');
        jQuery('.loadmask').hide();
        jQuery('.loadmask-msg').hide();
        jQuery('.cover').hover(function(){
                jQuery(this).children('.mimo_portfolio_image').stop().animate({opacity : 0.5},'fast');
                    }, function(){
                jQuery(this).children('.mimo_portfolio_image').stop().animate({opacity : 1},'fast');
                    }); 
        jQuery("a[rel^='prettyPhoto']").prettyPhoto();
        jQuery('.slideshow').hover(function(){
                jQuery(this).children('.rslides_nav').show('slow');
                }, function(){
                jQuery(this).children('.rslides_nav').hide('slow');
            });
            console.log(dentroClass);

            });

    return false;

});

    });

加载并显示一个项目组合项目,它加载并运行良好,但我有一个重复的问题,与        的console.log(dentroClass);

我可以看到,首先点击它记录1次变量,第二次点击记录2次,3次点击记录3次,所有功能重复点击次数,如果是第五次点击则重复5次功能

我一直在使用on();和OFF();和bind();解除绑定();但没有任何作用。

1 个答案:

答案 0 :(得分:2)

我猜你每次点击都会绑定新的ajaxCompletehover处理程序。

您应该将所有这些绑定移动到click函数之外。 (这样它们只能运行一次。)

或在每次点击开始时取消绑定所有内容。