2012-11-29 102 views
1

即時通訊新的jquery所以請耐心等待我!如何滾動整個頁面時,使用jquery scrolldownon一個div

我使用下面的代碼來滾動打開包含文本的div,當你點擊它上面的圖片。除了圖像接近屏幕底部時,此功能可以正常工作。然後包含文本的div打開,但在摺疊下方打開 - 即您需要向下滾動屏幕才能看到它。

有沒有一種簡單的方法來添加到下面的代碼,當div向下滾動時將頁面向上移動?這樣用戶不必滾動頁面查看文本?

感謝

$(document).ready(function() { 
    //Set default open/close settings 
$('.acc_container').hide(); //Hide/close all containers 
$('.acc_trigger:first').next().hide(); //Add "active" class to first trigger, then show/open the immediate next container 

//On Click 
$('.acc_trigger').click(function(){ 
    if($(this).next().is(':hidden')) { //If immediate next container is closed... 
     $('.acc_trigger').next().slideUp(); //Remove all "active" state and slide up the immediate next container 
     $(this).toggleClass('active').next().slideDown(); //Add "active" state to clicked trigger and slide down the immediate next container 

} 
    return false; //Prevent the browser jump to the link anchor 

}); 

}); 

回答

0

您可以使用此:

演示:http://jsfiddle.net/SO_AMK/uecpG/

的jQuery:

$(document).ready(function() { 
    $('.acc_container').hide(); 
    $('.acc_trigger:first').next().hide(); 
    $('.acc_trigger').click(function() { 
     if ($(this).next().is(':hidden')) { 
      $('.acc_trigger').next().slideUp(); 
      $(this).toggleClass('active').next().slideDown(400, function() { 
       $(document).scrollTop($(this).prev().position().top); 
      }); 
     } 
     return false; 
    }); 
});​ 

請注意,沒有動畫,實現一個需要多少更多的代碼,因爲元素的高度不斷變化,如果y你有一個預定的高度比數學很簡單。

+0

謝謝 - 還在掙扎,雖然:( 原來是在這裏:http://antmedia.com/clients/3k/expertise.html 和使用你的代碼是在這裏:http://antmedia.com/clients /3k/test.html 如果你有時間看它謝謝 –

+0

嗯,它看起來像是單個缺陷jsfiddle.net有問題,它使用隱藏字符的空白控制,你不小心複製和粘貼它們。最後一個'})之後的一個不可見字符;'在我的答案中,嘗試刪除該行並完全重寫它。 –

+0

真棒謝謝你的工作 - 謝謝你的幫助 –

相關問題