2013-10-08 48 views
1

我有這個jquery代碼,它成功使用slideToggle打開和關閉下面的div。jQuery slideTo後slideToogle已完成

$('#map-wrap').slideUp("fast"); 
$('#get-here-btn').click(function() { 
    if (!$("#map-wrap").is(":visible")) 
    $('#get-here-btn').addClass("active").html('Close'); 

    $("#map-wrap").slideToggle("fast","linear",function() { 
    if (!$("#map-wrap").is(":visible")) 
     $('#get-here-btn').removeClass("active").html('How to get here'); 
     });  
}); 

我想scrollTo現在打開的DIV一旦它是開放的(帶有某種緩和的)。我試過一些變化,我只能讓它跳轉到位置(這是因爲單擊按鈕時隱藏元素?)而不是幻燈片。

我知道我應該將scrollTo添加到slideToggle函數中,但不知道在哪裏?

任何幫助非常感謝。 在此先感謝,萊昂

我已經敲了一個的jsfiddle:http://jsfiddle.net/leonharris/rZqwx

回答

0

this問題摘自:

假設你有與ID '按鈕' 按鈕,嘗試這個例子:

$("#button").click(function() { 
    $('html, body').animate({ 
     scrollTop: $("#elementtoScrollToID").offset().top 
    }, 2000); 
}); 

顯然你必須適應你的情況。

+0

所以,如果我需要在添加的slideToggle前的動畫我會做這樣的: button.click>的slideToggle>動畫' 如:$(「#鍵」)點擊(函數(){ $(「#elementtoScrollToID」)。slideToggle(function(){('html,body')。animate(scrollTop:$(「#elementtoScrollToID」)。offset()。top },2000); }); }); – Leon

+0

@Leon是的,非常。但由於幻燈片本身已經花了很短的時間,所以我會說你可以同時觸發兩個動畫。但這取決於你。 – Kiruse