2009-02-28 53 views
0

這裏一些幫助:)再次如何使用錨鏈接並同時滾動?

我有這個網站:sharemyplaylists.com使用此插件,滾動順暢帶給用戶點擊時錨

,這裏是代碼:

// Smooth anchor link script 
$(document).ready(function() 
{ 
    $('a[href*=#]').click(function() 
    { 
    if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') 
     && location.hostname == this.hostname) 
     { 
     var $target = $(this.hash); 
     $target = $target.length && $target 
      || $('[name=' + this.hash.slice(1) +']'); 

     if ($target.length) 
     { 
      var targetOffset = $target.offset().top; 
      $('html,body') 
       .animate({scrollTop: targetOffset}, 1000); 
      return false; 
     } 
     } 
    }); 
}); 

// open panel on click script 
$(".btn-slide").click(function() 
{ 
    $("#panel").slideToggle("slow"); 
    $(this).toggleClass("active"); return false; 
}); 

無論如何,我還有一個按鈕「提交您的播放列表」,打開頂部面板以顯示側邊欄中的一個窗體,當我點擊它時,它只是打開面板(意思是我沒有提到頂部錨也)。這就像2位代碼有衝突,只有一個腳本可以工作。關於如何點擊側邊欄中的「提交您的播放列表」的任何想法,將用戶帶到頂部標題定位點,並一次點擊打開面板?

乾杯, 基思

回答

2

你應該插入滾動到您的功能上按一下按鈕,這樣的:

// open panel on click script 
$(".btn-slide").click(function()     
{ 
    // here insert scrolling 
    targetOffset = 0; // to scroll 
    $('html,body').animate({scrollTop: targetOffset}, 1000); 
    // toggle 
    $("#panel").slideToggle("slow"); 
    $(this).toggleClass("active"); return false; 
}); 
+0

Genuis! - 這就是爲什麼我喜歡Stack Overflow,像你這樣的人sergei,非常感謝你! – 2009-02-28 07:15:06

0

也許你應該以某種方式停止的事件。 ('.btn-slide')。observe('click',function(e){$('#panel')。slide(); Event.stop() e);})