花潮论坛

搜索
热搜: 活动 交友 discuz
查看: 367|回复: 211

小球按圆弧布排的实现演示

[复制链接]
  • TA的每日心情
    慵懒
    2025-12-16 08:52
  • 签到天数: 1671 天

    [LV.Master]伴坛终老

    3050

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

    发表于 2023-12-25 20:57 | 显示全部楼层 |阅读模式

    请马上登录,朋友们都在花潮里等着你哦:)

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    本帖最后由 马黑黑 于 2023-12-25 21:22 编辑

    先看正弦、余弦计算函数:

    正弦 : sin(radian) -> 返回 -1.0 ~ 1.0
    余弦 : cos(radian) -> 返回 -1.0 ~ 1.0

    上式,radian 为弧度。角度(angle)换算为弧度的公式 :

            radian = 2 * PI / 360 * angle

            可简化为 :

            radian = PI / 180 * angle

    求圆周上任意一点坐标值,圆心是重要参照。相交于圆心 o 的水平线和垂直线是我们熟知的坐标系,从 o 出发的任意一条直线会与圆周相交,我们要求的就是该相交点的坐标值。该直线与水平线的夹角是计算圆周点坐标的依据之一,计算依据还有半径 r,公式为:

            x = r + r * cos(radian)
            y = r + r * sin(randian)

    以上公式,用 JS 表达:

            x = r + r * Math.cos(radian)
            y = r + r * Math.sin(radian)

    同样的,角度转弧度公式的 JS 表达法为:

            radian = Math.PI / 180 * angle

    就是说,JS 的数学方法中,π(PI) 表示为 Math.PI,sin 表示为 Math.sin(弧度),cos 表示为 Math.cos(弧度)。

    下面给一个例子:经过圆心 o 的直线与圆周相交于某点,已知半径和夹角,求相交点的坐标——

    let angle = 60, r = 200;
    let radian = Math.PI / 180 * angle;
    let x = r + r * Math.cos(radian),
            y = r + r * Math.sin(radian);

    console.log(x,y);

    最后再给一个HTML实例:400*400的圆形父元素内有两个40*40的圆形子元素,绿色小球留在它的默认位置,红色小球根据上述圆周点坐标计算机制脱离了默认位置,其圆心与圆周上的某一点相交。需要注意的是,XY坐标点要减去小球的半径,小球圆心才会与圆周上的指定点相重合。代码如下:

    <style>
    #mydiv {
            width: 400px;
            height: 400px;
            border: 1px solid gray;
            border-radius: 50%;
            position: relative;
    }
    .ball {
            position: absolute;
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background: red;        
    }
    </style>

    <div id="mydiv">
            <div class="ball"></div>
            <div class="ball" style="background:green"></div>
    </div>

    <script>

    let angle = 60, r = 200;
    let radian = Math.PI / 180 * angle;
    let x = r + r * Math.cos(radian),
            y = r + r * Math.sin(radian);

    let ball = document.querySelector('.ball');

    ball.style.left = x - 20 + 'px';
    ball.style.top = y - 20 + 'px';

    </script>

    以上 HTML 实例代码,可以到这里运行:pencil code (52qingyin.cn)

    评分

    参与人数 2威望 +100 金钱 +200 经验 +100 收起 理由
    樵歌 + 50 + 100 + 50 赞一个!
    红影 + 50 + 100 + 50 赞一个!

    查看全部评分

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2023-12-25 21:30 | 显示全部楼层
    这个看迷糊了,圆周上的点就是r * cos(radian)和r * Math.sin(radian)啊,为什么还要加r ?
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2023-12-25 21:40 | 显示全部楼层
    去试了,红色小球落在了圆周上,绿色的跑出去了
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2023-12-25 21:47 | 显示全部楼层
    我去掉+r后,红色小球跑到奇怪的位置上了,绿色小球仍然在原地。彻底看迷糊了
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2023-12-25 22:08 | 显示全部楼层
    加上r是因为小球原本不在中心的原因么,加上是把它挪到中心去吧。嗯,红色的小球明白了。
    之前的的帖子里做动画时已经把它先弄到中心了,所以不用加。

    绿色的小球又是怎么回事,怎么跑到对角方向去了?
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-16 08:52
  • 签到天数: 1671 天

    [LV.Master]伴坛终老

    3050

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2023-12-25 22:29 | 显示全部楼层
    红影 发表于 2023-12-25 21:30
    这个看迷糊了,圆周上的点就是r * cos(radian)和r * Math.sin(radian)啊,为什么还要加r ?

    数学公式如此: 半径 +半径 * cos(弧度) 、半径 +半径 * sin(弧度)

    不加半径,到达不了圆周上的点

    在 HTML 实体环境中,若绝对定位的子元素不加 r,也到达不了圆周点。我的一些帖子没有加 r,原因在于我把子元素定位在了圆心,它们已经事实上加 r 了。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-16 08:52
  • 签到天数: 1671 天

    [LV.Master]伴坛终老

    3050

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2023-12-25 22:30 | 显示全部楼层
    红影 发表于 2023-12-25 22:08
    加上r是因为小球原本不在中心的原因么,加上是把它挪到中心去吧。嗯,红色的小球明白了。
    之前的的帖子里 ...

    父元素如果是矩形的,你就能明白为什么
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-16 08:52
  • 签到天数: 1671 天

    [LV.Master]伴坛终老

    3050

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2023-12-25 22:31 | 显示全部楼层
    红影 发表于 2023-12-25 21:40
    去试了,红色小球落在了圆周上,绿色的跑出去了

    绿色小球不是跑出去,它待在原本的位置:left和top在父元素的左上角
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2023-12-25 22:39 | 显示全部楼层
    马黑黑 发表于 2023-12-25 22:29
    数学公式如此: 半径 +半径 * cos(弧度) 、半径 +半径 * sin(弧度)

    不加半径,到达不了圆周上的点

    是的,我后来想明白了。开始有点懵,就是习惯了前面那些已经定位的帖子了
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2023-12-25 22:41 | 显示全部楼层
    马黑黑 发表于 2023-12-25 22:30
    父元素如果是矩形的,你就能明白为什么

    是正方形的也要加一半烦长宽,总之需要把它挪到中心去。
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2023-12-25 22:43 | 显示全部楼层
    马黑黑 发表于 2023-12-25 22:31
    绿色小球不是跑出去,它待在原本的位置:left和top在父元素的左上角

    但是x是算出来的,在红色的位置上减的啊
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-16 08:52
  • 签到天数: 1671 天

    [LV.Master]伴坛终老

    3050

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2023-12-25 22:47 | 显示全部楼层
    本帖最后由 马黑黑 于 2023-12-25 22:56 编辑
    红影 发表于 2023-12-25 22:43
    但是x是算出来的,在红色的位置上减的啊

    这是两码事额。

    计算圆周上某一点的坐标,和驱使小球去到那个点,是两个事情。

    红色小球原本的点和绿色小球现在的点一样,默认在矩形(父元素)的左上角。然后,我们计算了夹角为 60 度的圆周上的那个点坐标,并驱使红色小球去到那个点。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-16 08:52
  • 签到天数: 1671 天

    [LV.Master]伴坛终老

    3050

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2023-12-25 22:49 | 显示全部楼层
    红影 发表于 2023-12-25 22:41
    是正方形的也要加一半烦长宽,总之需要把它挪到中心去。

    不用把问题复杂化。你只要知道如何计算圆周上某一个点的坐标值,然后把这个坐标值赋予元素的left和top就行了。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-16 08:52
  • 签到天数: 1671 天

    [LV.Master]伴坛终老

    3050

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2023-12-25 22:51 | 显示全部楼层
    红影 发表于 2023-12-25 22:39
    是的,我后来想明白了。开始有点懵,就是习惯了前面那些已经定位的帖子了

    你主要是没有分清计算与驱动。计算方法是按照数学原理来的,驱动是在得到坐标值后将值赋予子元素的left和top对它进行定位。

    定位方式不止left和top,我们还可以用 transform 的 translate方式,将子元素从某和位置移动到从另一个位置。等等。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2023-12-25 23:03 | 显示全部楼层
    马黑黑 发表于 2023-12-25 22:47
    这是两码事额。

    计算圆周上某一点的坐标,和驱使小球去到那个点,是两个事情。

    let x = r + r * Math.cos(radian),这个值算出来是300
    然后ball.style.left = x - 20 + 'px';这个是绿色小球的左边值吧,我就是没看懂这个值是怎么回事
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2023-12-25 23:08 | 显示全部楼层
    马黑黑 发表于 2023-12-25 22:30
    父元素如果是矩形的,你就能明白为什么

    我收回15楼的回复,再看一遍,知道了,所有的js都是给红球的,我弄错了,和绿球完全无关。
    现在总算弄明白了,前面全错了
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2023-12-25 23:10 | 显示全部楼层
    马黑黑 发表于 2023-12-25 22:51
    你主要是没有分清计算与驱动。计算方法是按照数学原理来的,驱动是在得到坐标值后将值赋予子元素的left和 ...

    知道了知道了,我前面弄错了,还以为给了xy就完成红球了,实际还要给它定位。我前面一直以为定位是给绿球的,哈哈,错得离谱。行了,现在没问题了
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-16 08:52
  • 签到天数: 1671 天

    [LV.Master]伴坛终老

    3050

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2023-12-25 23:13 | 显示全部楼层
    红影 发表于 2023-12-25 23:08
    我收回15楼的回复,再看一遍,知道了,所有的js都是给红球的,我弄错了,和绿球完全无关。
    现在总算弄明 ...

    JS获取的小球,

        let ball = document.querySelector('.ball');

    它拿到的是第一个出现的小球。要拿全部的小球这样做:

        let ball = document.querySelectorAll('.ball');

    然后,用数组下标一一操作这些小球,比如操作第二个、让它改变背景色为粉红:

        ball[1].style.background = 'pink';
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-16 08:52
  • 签到天数: 1671 天

    [LV.Master]伴坛终老

    3050

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2023-12-25 23:15 | 显示全部楼层
    红影 发表于 2023-12-25 23:03
    let x = r + r * Math.cos(radian),这个值算出来是300
    然后ball.style.left = x - 20 + 'px';这个是绿色 ...

    这个我有说明的:减去的 20 是小球自己的半径,这样小球的圆心就和计算出来的点重合
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-16 08:52
  • 签到天数: 1671 天

    [LV.Master]伴坛终老

    3050

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2023-12-25 23:17 | 显示全部楼层
    红影 发表于 2023-12-25 23:10
    知道了知道了,我前面弄错了,还以为给了xy就完成红球了,实际还要给它定位。我前面一直以为定位是给绿球 ...

    文科生的样纸
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|手机版|Archiver|服务支持:DZ动力|huachaowang.com Inc. ( 蜀ICP备17032287号-1 )

    GMT+8, 2025-12-16 20:16 , Processed in 0.079611 second(s), 25 queries .

    Powered by Discuz! X3.4

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表