2012-10-23 307 views
0

我在我的两个页面上有一个向上滑动和向下滑动的效果,问题出现在关于幻灯片启动后,如果我点击联系人链接,它会在滑动之前闪烁到联系人页面。出于某种原因,这两个幻灯片的jQuery格式都是相同的,但是如果我在联系人幻灯片启动时单击about链接,似乎不会发生。我不确定问题是什么,我希望你们能帮我解决问题。向上滑动/向下滑动

我把它上传到我的主机,所以你们可以亲眼看到它。 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'); 
     } 
     }); 

});

回答

0

一般而言,您应该等待显示的页面滑动,然后滑动新的页面。

所以,你应该用下面的办法:

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

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

}); 
+0

似乎来解决这个问题,虽然第二功能不会启动。 关于页面关闭,但联系人页面永远不会上升 –