Вы связываете события в рамках событий. Если вы думаете об этом, то, что вы опускаете, неизбежно, если вы это сделаете ... каждый щелчок кнопки связывает другое событие нажатия кнопки с кнопкой2 и так далее ...
Я реорганизовал ваш код для достижения того, что вы хотите, пока будете достаточно гибкими, чтобы их можно было расширить, если вам это нужно.
JSBin fork
$(function() {
var body = $('body'),
button2 = body.find('#b2');
var events = {
b1 : function(event) {
// Unbind this click event to avoid event stacking
body.off('click', '#b1', events.b1);
// Fade in the second button and bind its event
button2.fadeIn('fast', function() {
body.on('click', '#b2', events.b2);
});
},
b2 : function(event) {
// Unbind button2 event whilst managing its click logic
alert('Button 2 clicked');
body.off('click', '#b2', events.b2);
// Hide button 2 and rebind the event to button 1
button2.fadeOut('fast', function() {
body.on('click', '#b1', events.b1);
);
}
};
// Bind the click event to button1
body.on('click', '#b1', events.b1);
});
'для (вар я = 0 'что это? И описывающее вашу проблему с предложениями может помочь нам понять проблему –