JQuery панель, чтобы скользить вниз, а затем вверх при загрузке страницы
Это должно быть очень просто, однако я просто не могу заставить его работать как надо.
Следующий код должен быть в состоянии сделать следующее. Как только страница завершит загрузку, div (панель div#) вверху страницы должна прокрутиться вниз. После нескольких секунд задержки, div должен прокрутиться назад вне поля зрения. Div также должен иметь возможность переключаться / скользить вверх и вниз, когда пользователь нажимает на триггер.
Заранее спасибо за советы / предложения.
$(document).ready(function() {
$("div#panel").slideDown("slow");
setTimeout(function(){
$("div#panel").slideUp("slow");
}, 5000);
});
$(document).ready(function() {
// Expand Panel
$("#open").click(function(){
$("div#panel").slideDown("slow");
});
// Collapse Panel
$("#close").click(function(){
$("div#panel").slideUp("slow");
});
});
3 ответа
Решение
Ты должен hide()
Сначала панель, так что она может скользить в поле зрения.
$(document).ready(function(){
$("div#panel").hide();
var autoTimer = null;
autoTimer = setTimeout(function(){
$("div#panel").slideDown("slow");
autoTimer = setTimeout(function(){
$("div#panel").slideUp("slow");
}, 5000);
},2000);
$("#open").click(function(){
$("div#panel").slideDown("slow");
if(autoTimer) clearTimeout(autoTimer);
autoTimer = null;
});
$("#close").click(function(){
$("div#panel").slideUp("slow");
if(autoTimer) clearTimeout(autoTimer);
autoTimer = null;
});
});
Вы также можете попробовать это. Загрузка slideUp, когда slideDown завершает выполнение.
$('#id').slideDown(500, function(){
setTimeout(function(){$('#id').fadeOut(500)}, 1500);
});
Try this :
$(document).ready(function(){
setTimeout('slide_div()',5000);
$('#open').click(function(){
$('#pane1').slideDown('slow');
});
$('#close').click(function(){
$('#pane1').slideUp('slow');
});
});
function slide_div()
{
$('#pane1').slideToggle();
}