在我的网站上,我使用以下代码为所有锚点实现smoothscroll:
$(document).ready(function(){
$('a[href^="#"]').on('click',function (e) {
e.preventDefault();
var target = this.hash;
var $target = $(target);
$('html, body').stop().animate({
'scrollTop': $target.offset().top
}, 900, 'swing', function () {
window.location.hash = target;
});
});
});
但我在网站末尾还有一个滚动顶部,如下所示:
<a href="#" class="scrollup"><i class="fa fa-angle-double-up"></i></a>
我的问题是以下代码被完全忽略(scrolltop不起作用):
$(document).ready(function(){
$(window).scroll(function(){
if ($(this).scrollTop() > 100) {
$('.scrollup').fadeIn();
} else {
$('.scrollup').fadeOut();
}
});
$('.scrollup').click(function(){
$("html, body").animate({ scrollTop: 0 }, 600);
return false;
});
});
基本上我认为&#39; a [href ^ =&#34;#&#34;]&#39;正则表达式匹配优先于单个&#39; .scrollup&#39;选择。有没有办法说&#34;任何锚,除了尖锐的单独&#34;或者更好的方法来解决这个问题?我想保持所有锚点的平滑滚动,但也有一个空的&#34;#&#34;滚动顶部的锚点仍然可以使它工作。