首先,这里是代码段:
$('a[href^="#"]').on('click', function(event) {
var target = $( $(this).attr('href') );
if( target.length ) {
event.preventDefault();
$('body').animate({
scrollTop: target.offset().top
}, 1000);
}
});
我正在尝试将其转换为Javascript(因为我对jQuery还不太了解)。
这是我到目前为止所处的位置:
var x = document.getElementsByTagName('a');
for (var i = 0; i < x.length; i++) {
x[i].addEventListener('click', function (event) {
var target = document.getElementById(event.target.getAttribute('href'));
if (target) {
event.preventDefault();
document.getElementsByTagName('body')[0].animate({
scrollTop: target.getBoundingClientRect().top
}, 1000);
}
});
}
您可能已经注意到,我在本节中遇到了问题:
$('body').animate({
scrollTop: target.offset().top
}, 1000);
Javascript是animate
的另类选择?我知道那里setInterval
但是我想知道是否有更简单的方法来实现这个目标?