所以我的jQuery滚动在我的页面上运行得很好。 但我想改变一件事。 我不想在网址中显示锚文本。即。 #products或#contactinfo
HTML CODE:
<div>
<a href="#products">Products</a>
<a href="#contactinfo">Contact info</a>
</div>
<div id="products"></div>
<div id="contactinfo"></div>
jQuery代码:
$(document).ready(function(){
$('a[href^="#"]').on('click',function (e) {
e.preventDefault();
var target = this.hash,
$target = $(target);
$('html, body').stop().animate({
'scrollTop': $target.offset().top
}, 900, 'swing', function () {
window.location.hash = target;
});
});
});
答案 0 :(得分:5)
试试这个:
HTML:
<div>
<span class="link" rel="#products">Products</span>
<span class="link" rel="#contactinfo">Contact info</span>
</div>
<div style="height:800px;"></div>
<div id="products">products</div>
<div style="height:800px;"></div>
<div id="contactinfo">contact</div>
<div style="height:800px;"></div>
脚本:
$(document).ready(function(){
$('.link').on('click',function (e) {
$('html, body').stop().animate({
'scrollTop': $($(this).attr('rel')).offset().top
}, 900, 'swing', function () {});
});
});
答案 1 :(得分:1)
只需在return false;
功能的末尾添加click
即可。
编辑:可能删除这一行,我的意思是..它确实是你不想要的?显然?
window.location.hash = target;