jQuery-те әсердің аяқталуынан кейінгі әрекет
Кейде сізге әсер аяқталғаннан кейін қандай да бір әрекетті орындау қажет болуы мүмкін. Мысалы, батырманы басқан кезде қандай да бір блок біртіндеп жасырылуы керек және ол толығымен жасырылғаннан кейін ғана экранға бір нәрсені шығару керек.
Егер код жолдарын бірінен соң бірін жазсаңыз - элемент әлі жасырылуға ұшырамай, келесі код жолы орындала бастайды - және біз қалағандай болмайды. Батырманы басыңыз - элемент жасырыла бастайды және бірден батырманың мәтіні өзгереді.
Келесі мысалды қараңыз. Бізде келесі HTML коды бар делік:
<button id="hide">hide</button>
<div id="elem">text...</div>
Бұл код үшін CSS жазылған:
#elem {
padding: 10px;
width: 150px;
height: 150px;
border: 1px solid green;
margin-top: 10px;
}
Javascript коды келесідей:
$('#hide').click(function() {
$('#elem').hide(1000);
$('#hide').html('hidden');
});
Мұндай мәселелерден аулақ болу үшін, анимациямен
және әсерлермен жұмыс істеудің барлық әдістерінде
мұндай міндетті емес параметр көзделген, біз оған
анимация аяқталғаннан кейін орындалатын callback-функцияны
бере аламыз. Біздің жағдайда біз callback-функцияны
hide
әдісіне бердік,
және осы функцияның денесінде батырма атауын өзгерттік:
$('#hide').click(function() {
$('#elem').hide(1000, function() {
$('#hide').html('hidden');
});
});