您好我正在使用此代码:
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();解除绑定();但没有任何作用。
答案 0 :(得分:2)
我猜你每次点击都会绑定新的ajaxComplete
和hover
处理程序。
您应该将所有这些绑定移动到click函数之外。 (这样它们只能运行一次。)
或在每次点击开始时取消绑定所有内容。