Скользить вверх / Скользить вниз

У меня есть эффект слайда вверх и вниз на двух моих страницах, проблема заключается в том, что когда слайд «О программе» поднимается, если я нажимаю на контактную ссылку, она мигает на странице контактов, прежде чем скользить вниз. По какой-то причине jquery обоих слайдов отформатирован одинаково, но, похоже, этого не происходит, если я нажимаю ссылку «О программе», когда контактный слайд открыт. Я не уверен, в чем проблема, я надеялся, что вы, ребята, поможете мне ее исправить.

Я загрузил его на свой хост, чтобы вы, ребята, могли увидеть это сами. http://maximsiebert.com/unamed/Untitled-1.html

Вот мой jQuery

 $(document).ready(function() {
 $('.contact').click(function () {
      if ($('#aboutpage').is(":visible")) {
        $('#aboutpage').slideUp(800)
        $('#portfolio').slideDown(800)  
        $('#portfolio').slideUp(800)
        $('#contactpage').slideDown(800)   
      }
      else if ($('#contactpage').is(":visible")) { 
      $('#contactpage').slideUp(1000) 
      $('#portfolio').slideDown(1000) 
      }
       else if ($('#contactpage').is(":hidden")) { 
      $('#portfolio').slideUp(1000) 
      $('#contactpage').slideDown(1000) 
      $('html, body').animate({scrollTop:0}, 'slow');
      }
      });

});

 $(document).ready(function() {
 $('.about').click(function () {
      if ($('#contactpage').is(":visible")) {
        $('#contactpage').slideUp(800)
        $('#portfolio').slideDown(800)  
        $('#portfolio').slideUp(800)
        $('#aboutpage').slideDown(800)   
      }
      else if ($('#aboutpage').is(":visible")) { 
      $('#aboutpage').slideUp(1000) 
      $('#portfolio').slideDown(1000) 
      }
       else if ($('#aboutpage').is(":hidden")) { 
      $('#portfolio').slideUp(1000) 
      $('#aboutpage').slideDown(1000) 
      $('html, body').animate({scrollTop:0}, 'slow');
      }
      });

});


person Maxim Siebert    schedule 23.10.2012    source источник


Ответы (1)


Как правило, вам следует подождать, пока показанная страница скользит вниз, а затем скользить вверх по новой странице.

Таким образом, вы должны использовать следующий подход:

$('.about').click(function () {
  .... if contact page is shown ...

  $('#aboutpage').slideDown(800, function() {
     $('#aboutpage').slideUp(800);
  });
  .....

});
person Reflective    schedule 23.10.2012
comment
кажется, решает проблему, хотя вторая функция не запускается. страница «О нас» опускается, но страница контактов никогда не поднимается - person Maxim Siebert; 24.10.2012