2015-12-03 71 views
0

这里是我的代码,它不显示任何错误的链接,但不要去href位置无论是。 当我将href更改为“www.google.com”时,代码将起作用。为什么它不适用于相同的页面链接?滚动页面按钮的onClick到同一页

<form> 
<a href="#DivIdToScroll"> 
    <div id="btnLink" onClick="generateReport();"> Generate </div> 
</a> 
</form> 

<script> 
function generateReport() 
{ 
    window.location.href = '#DivIdToScroll'; 
} 
</script> 
+0

确保DivIdToScroll是一个ID不是一类。 –

+0

[jQuery滚动到元素]的可能重复(http://stackoverflow.com/questions/6677035/jquery-scroll-to-element) – SwiftArchitect

回答

0

我准备了您提供的代码中的代码片段。我只是做了一个很长的容器,并在下面插入了一个带有“DivIdToScroll”Id的div。它似乎工作正常。你可能使用了一个类而不是Id。希望能帮助到你。

function generateReport() { 
 
    window.location.href = '#DivIdToScroll'; 
 
}
.longContainer { 
 
    height: 1000px; 
 
    background: #eee; 
 
} 
 
.justTakingSpace { 
 
    height: 600px; 
 
    margin: 2px; 
 
    background: #ddd; 
 
}
<div class="longContainer"> 
 
    <form> 
 
    <a href="#DivIdToScroll"> 
 
     <div id="btnLink" onClick="generateReport();">Generate</div> 
 
    </a> 
 
    </form> 
 

 
    <div class="justTakingSpace"></div> 
 

 
    <div id="DivIdToScroll">Oh you're here at "#DivIdToScroll". hello hello.</div> 
 
</div>

+0

谢谢你现在工作。 Div在我添加之前隐藏了window.location.href ='#DivIdToScroll';功能。这是原因。当我把它放在函数结束时,它的工作很好。 –

0

你可以试试这一套代码,它有动画了。

<div id="DivIdToScroll">Go to link</div> 

这里jQuery代码

$("#DivIdToScroll").click(function(){ 

$('html, body').animate({ 
     scrollTop: $("#scroll_div").offset().top 
    }, 1000); 
}); 

,这里是内容的div

<div id="scroll_div">Content</div>