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-функциясын өткөрө алабыз, ал анимация
аяктагандан кийин аткарылат. Биздин учурда биз
hide
методуна callback-функциясын өткөрдүк,
жана бул функциянын денесинде баскычтын аталышын өзгөрттүк:
$('#hide').click(function() {
$('#elem').hide(1000, function() {
$('#hide').html('hidden');
});
});