2013-05-02 92 views
0

我用下面作任何錨與類.jump-link滾動到它引用在href屬性ID:jQuery的滾動到ID腳本只向下滾動

// Scroll to ID 
$('.jump-link').click(function() { 
    var el = $(this).attr('href'), 
     elWrapped = $(el); 
    scrollToId(elWrapped, 40); 
    return false; 
}); 
function scrollToId(element, navheight) { 
    var offset = element.offset(), 
     offsetTop = offset.top, 
     totalScroll = offsetTop - navheight; 
    $('body,html').animate({ 
     scrollTop: totalScroll 
    }, 500); 
} 

但不幸的是它似乎只工作滾動下載該頁面。我還希望腳本能夠滾動頁面。

+0

你說,這是該網頁總是向下滾動,不論ID提及? – dreamweiver 2013-05-02 11:13:48

+2

[在此處雙擊](http://jsfiddle.net/447j6/)。您需要進一步隔離您的問題,因爲問題根據您迄今給出的內容無法重現。 – 2013-05-02 11:13:49

+0

當我找出問題時([Fiddle](http://jsfiddle.net/alecrust/MY7tb/)),它似乎按預期工作。很奇怪。 – AlecRust 2013-05-02 11:29:15

回答

0

試試這個..這將是工作。

$(".jump-link").click(function(){ 
var id = $(this).attr('href'); 
     $('html, body').animate({scrollTop: $("#"+id).offset().top}, 2000); 
}); 
+0

用這個腳本代替並不幸運。 – AlecRust 2013-05-02 11:31:46

+0

當您的代碼的破碎部分未包含在您的問題中時,您很難指出需要更改的內容。 – 2013-05-02 11:32:40

+0

我不知道爲什麼不這樣做,但使用這個腳本它爲我工作得很好。 – 2013-05-02 11:33:48

0

這裏是代碼試試這個

$(function() { 
    $('ul.nav a').bind('click',function(event){ 
     var $anchor = $(this); 
     $('html, body').stop().animate({ 
      scrollTop: $($anchor.attr('href')).offset().top 
     }, 1200); 
     event.preventDefault(); 
    }); 
}); 
+0

不幸的是,用這個腳本替換並不奏效。 – AlecRust 2013-05-02 11:30:49

+0

你實現你的'id'或'class',但是你使用show me小提琴來解決它會定義的問題 – 2013-05-02 11:33:04

0
<script type="text/javascript"> 
     jQuery(document).ready(function($) { 
      $(".scroll").click(function(event){  
       event.preventDefault(); 
       $('html,body').animate({scrollTop:$(this.hash).offset().top},1200); 
      }); 
     }); 
    </script>