JQuery панель, чтобы скользить вниз, а затем вверх при загрузке страницы - PullRequest
0 голосов
/ 04 мая 2011

Предполагается, что это очень просто, однако я просто не могу заставить его работать так, как должно.

Следующий код должен быть в состоянии сделать следующее.Как только страница завершит загрузку, 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 ]

5 голосов
/ 04 мая 2011

Сначала необходимо 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;
    });         
});

Демо: http://jsfiddle.net/X9Vn4/6/

3 голосов
/ 06 мая 2012

Вы также можете попробовать это.Загрузка slideUp, когда slideDown завершает выполнение.

$('#id').slideDown(500, function(){
   setTimeout(function(){$('#id').fadeOut(500)}, 1500);
});
0 голосов
/ 04 мая 2011
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();
 } 
...