Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
平滑JavaScript/jQuery滚动到元素_Javascript_Jquery - Fatal编程技术网

平滑JavaScript/jQuery滚动到元素

平滑JavaScript/jQuery滚动到元素,javascript,jquery,Javascript,Jquery,我正在尝试制作一个水平滚动的网站,但我不知道如何从一个元素平滑地滚动到另一个元素。 我尝试了以下代码: $("a[href='#top']").click(function() { $("body").animate({ scrollTop: 0 }, "slow"); return false; }); 但它只会滚动到顶部,我也尝试了jQuery插件,但我就是无法让它工作,我也尝试了jQuery插件: $('.click').click(function(){ $.scrol

我正在尝试制作一个水平滚动的网站,但我不知道如何从一个元素平滑地滚动到另一个元素。 我尝试了以下代码:

$("a[href='#top']").click(function() {
  $("body").animate({ scrollTop: 0 }, "slow");
  return false;
});
但它只会滚动到顶部,我也尝试了jQuery插件,但我就是无法让它工作,我也尝试了jQuery插件:

$('.click').click(function(){
    $.scrollTo( '.last', 800, {easing:'elasout'});
});
但也没有成功


有谁知道一个好的,容易理解的,我可以使用的样本吗?提前谢谢

未经测试

   $('.click').click(function(){
        $.scrollTo( $('.last'), 800);
    });

如果您必须/需要避免使用jQuery,这里有一个香草JS解决方案,它对我们非常有效:

函数scrollToElement(myElement,scrollDuration=500){ const elementExists=document.querySelector(myElement); if(elementExists&&elementExists.getBoundingClientRect){ const rect=elementExists.getBoundingClientRect(); const elementTop=rect.top+window.scrollY-200;//距离顶部有一点空间 var cosParameter=(window.scrollY-elementTop)/2, scrollCount=0, oldTimestamp=performance.now(); 功能步骤(newTimestamp){ console.log(滚动计数); scrollCount+=Math.PI/(scrollDuration/(newTimestamp-oldTimestamp)); 如果(滚动计数>=Math.PI){ 滚动到(0,elementTop); 返回; } scrollTo(0,Math.round(cosParameter+cosParameter*Math.cos(scrollCount))+elementTop); oldTimestamp=newTimestamp; window.requestAnimationFrame(步骤); } window.requestAnimationFrame(步骤); } }
scrollToElement(“yourElement”)你需要告诉我们什么不起作用。你收到错误信息了吗?你尝试了什么调试?如果有人想看一个使用jQuery.ScrollTo插件的演示,他可以看看