Вы звоните .animate()
, но не указываете полную функцию, которая будет вызываться после завершения анимации. Это тот момент, когда вам нужно установить тайм-аут для закрытия оверлея .
Вот как это делается:
// all code that you already have...
.animate({ left: "+=100%" }, {
duration: 1000,
easing: 'easeOutQuad',
complete: function() {
window.setTimeout(function(){
$("selector").hide(); // or .remove()
}, 1000); // adjust time
}
});
Дополнительные наблюдения
Этот код кажется ненужным:
// Start welkombox overlay
jQuery(function() {
jQuery("#welkombox div[rel]").overlay();
});
// End welkombox overlay
Вместо этого вы должны просто позвонить:
// Start welkombox overlay
jQuery("#welkombox div[rel]").overlay();
// End welkombox overlay
Потому что вы уже в готовом обработчике событий. Не нужно добавлять другой обработчик. И эти два эквивалента (потому что я видел, как вы используете два из них):
jQuery(document).ready(function() { /* document read code */ });
// is the same as this shorter version
jQuery(function() { /* document read code */ });
Запятые
Остерегайтесь запятых в ваших объектах. Пример: * +1022 *
...
{
duration: 1000,
easing: "easeOutQuad", // <-- remove this comma
}
...
Это сделает объект недействительным в IE и не будет создан вообще. IE очень чувствителен к этому. Другие браузеры все еще работают, хотя ...