我正在尝试实现在cs.kenji-special.info上看到的拖动/进度效果

基本上,我将N个div输出到页面中并水平移动它们。我想追踪您滚动的进度,并在后面的圆圈中显示。我想我应该跟踪viewPort的中心和第一个项目的X位置之间的距离。

我有元素的总宽度,但是经过无数次迭代,我仍然无法达到效果。

javascript - 沿圆半径归一化值-LMLPHP

任何帮助都将不胜感激。

最佳答案

不知道我是否完全回答了您的问题,但是您可以通过取值范围并归一化2 * PI辐射半径来表示圆上的一点,即(以伪代码形式):

dv = 2PI/(Max-Min);
currantAngle = (currentValue-Min)*dv;
currentPointX = centerX+radius*cos(currentAngle)
currentPointY = centerY+radius*sin(currentAngle)


如果您的值是从零开始的,那就更简单了:

dv = 2PI/(Max);
currantAngle = (currentValue)*dv;
currentPointX = centerX+radius*cos(currentAngle)
currentPointY = centerY+radius*sin(currentAngle)


有了这个代码点,从第一个象限开始并逆时针移动,您可以通过偏移角度并更改符号以向相反方向移动来进行播放,但是我想让您开始。

关于javascript - 沿圆半径归一化值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40608243/

10-12 16:20