2014-02-21 72 views
0

我正在使用jquery.scrollTo.js滾動到一個頁面onclick中的塊。scroll to function show #id in url javascript

HTML代碼:

<ul> 
<li><a href="#about" class="panel">About</a></li> 
<li><a href="#product" class="panel">Products</a></li> 
</ul> 
<div id="about" class="item"> 
<a name="about"></a> 
About content 
</div> 
<div id="product" class="item"> 
<a name="product"></a> 
Products content 
</div> 

內部腳本:

<script> 
$(document).ready(function() { 
$('a.panel').click(function() { 

$('a.panel').removeClass('selected'); 
$(this).addClass('selected'); 
current = $(this); 
$('#wrapper').scrollTo($(this).attr('href'), 800);  
return false; 
}); 
}); 
</script> 

請參考http://jsfiddle.net/8up4A/只是查看jquery.scrollTo.js代碼。我試圖顯示id名稱以及像http://www.test.com/index.html#about這樣的網址。

如果我在內部腳本中刪除了返回false,則id顯示在url中,但滾動無法正常工作。如何在不影響滾動效果的情況下實現此目的。任何幫助?謝謝。

+0

您是否碰巧在jsfiddle這樣的網站上有一個實時示例演示供我們操作? –

+0

你可以簡單地通過html test它會滾動到您的ID分區 –

+0

請驗證http://jsfiddle.net/8up4A/8/。 – marsweb

回答

0
$(document).ready(function() { 
    $('a.panel').click(function() { 

     $('a.panel').removeClass('selected'); 
     $(this).addClass('selected'); 

     var currentString = $(this).attr('href'); 
     var newString = currentString.substr(1); 

     $("html,body").animate({ 
      scrollTop: $('a[name="'+newString+'"]').offset().top 
     }, 2000); 

    }); 
}); 

而你可以刪除scrollTo.js插件,你不需要它。

+0

我試過你的代碼。但是,當我點擊鏈接,它只是跳到塊不滾動。任何幫助? – marsweb

+0

你的頁面中包含jQuery.js嗎? – partypete25

+0

是的。我用Jquery 1.10 – marsweb