0

嗨,我正在使用此代码:

    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(); 和关闭();和绑定();解绑();但没有任何效果。

4

1 回答 1

2

我猜你每次点击时都会绑定 newajaxComplete和handlers 。hover

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

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

于 2012-08-01T08:52:22.070 回答