Javascript 如何在滚动上沿svg路径设置元素动画?

Javascript 如何在滚动上沿svg路径设置元素动画?,javascript,html,svg,scroll,Javascript,Html,Svg,Scroll,我有一个问题:我必须改变滚动事件的元素位置和角度。就像我的网页是一条有背景的长路,我需要在滚动过程中沿着这条路径设置汽车运动的动画 我很好的解释是:http://prinzhorn.github.io/skrollr-path/ -一个完美的解决方案,符合我的要求。但不幸的是,它已经非常过时了 也许有人有最新的解决方案库?或者代码的想法,如何通过svg路径动画元素与页面滚动 我也试过了,但这不是我需要的,因为我的路很难走。不仅仅是几个圆圈。这里有一些普通的Javascript,它可以根据页面的滚

我有一个问题:我必须改变滚动事件的元素位置和角度。就像我的网页是一条有背景的长路,我需要在滚动过程中沿着这条路径设置汽车运动的动画

我很好的解释是:http://prinzhorn.github.io/skrollr-path/ -一个完美的解决方案,符合我的要求。但不幸的是,它已经非常过时了

也许有人有最新的解决方案库?或者代码的想法,如何通过svg路径动画元素与页面滚动


我也试过了,但这不是我需要的,因为我的路很难走。不仅仅是几个圆圈。

这里有一些普通的Javascript,它可以根据页面的滚动程度沿路径移动汽车

它应该适用于大多数浏览器。您可能需要调整的部分是如何获得页面高度document.documentElement.scrollHeight。根据您想要支持的浏览器的不同,您可能需要进行修改

功能定位车 { var scrollY=window.scrollY | | window.pageYOffset; var maxScrollY=document.documentElement.scrollHeight-window.innerHeight; var path=document.getElementByIdpath1; //根据当前滚动量计算车辆应沿路径行驶的距离 var pathLen=path.getTotalLength; var dist=pathLen*scrollY/maxScrollY; var pos=path.getPointAtLengthdist; //如果我们在终点,计算汽车前面或后面的位置,这样我们就可以计算汽车的角度
如果dist+1这里有一些普通的Javascript,它可以根据页面的滚动程度沿路径移动汽车

它应该适用于所有大多数浏览器。您可能需要调整的部分是如何获得页面高度document.documentElement.scrollHeight。您可能需要根据您想要支持的浏览器进行调整

功能定位车 { var scrollY=window.scrollY | | window.pageYOffset; var maxScrollY=document.documentElement.scrollHeight-window.innerHeight; var path=document.getElementByIdpath1; //根据当前滚动量计算车辆应沿路径行驶的距离 var pathLen=path.getTotalLength; var dist=pathLen*scrollY/maxScrollY; var pos=path.getPointAtLengthdist; //如果我们在终点,计算汽车前面或后面的位置,这样我们就可以计算汽车的角度
如果dist+1,过时意味着什么?如果它起作用,四年后又有什么关系?@PaulLeBeau它不适用于android 4.4、MacOS等。这是一个巨大的问题。过时意味着什么?如果它起作用,四年后又有什么关系?@PaulLeBeau它不适用于android 4.4、MacOS等。这是一个巨大的问题。谢谢但是使用这种svg是不起作用的:&例如,如果我有这样一个svg:,我的页面非常长,大约4530px,这个动画必须在整个页面上运行。轨迹不是页面下的一行。它是一个填充形状,在页面上运行,然后返回到底部。请修复路径,使其成为从开始的一行在顶部,在底部结束。它应该可以工作。哦,多棒的一个皮蒂:也许你知道一个好的软件来做这件事?谢谢你,但是这个svg不起作用:&例如,如果我有这样一个svg:我的页面非常长,大约4530px,这个动画必须在整个页面上运行。你的轨迹不是页面上的一行。它是一个填充的形状,沿着页面向上延伸,然后再向下延伸到底部。修复路径,使其成为一条从顶部开始,到底部结束的单行线。然后应该可以工作。哦,多棒的一个皮蒂:也许你知道一个好的软件来做这件事?