|
|

楼主 |
发表于 2022-4-13 12:22
|
显示全部楼层
本帖最后由 马黑黑 于 2022-4-13 12:31 编辑
原创代码分享:
- <style>
- .outbox {
- display: flex;
- justify-content: center;
- align-items: center;
- margin: auto;
- margin-top: 100px;
- width: 500px;
- height: 500px;
- position: relative;
- }
- .outbox div {
- position: absolute;
- --len: 40px;
- width: var(--len);
- height: var(--len);
- font: 14px / var(--len) Sans-serif;
- background: #666 linear-gradient(120deg, #d4fc79 0%, #96e6a1 100%);
- text-align: center;
- border-radius: 50%;
- }
- </style>
- <div class="outbox"></div>
- <script>
- let box = document.querySelector('.outbox');
- let total = 40;
- let angle = 360 / total;
- let len = box.clientWidth / 2;
- let str = '';
- let step = total;
- let go = true;
- for(j=0; j<total; j++) {
- str += `<div>${j+1}</div>`;
- }
- box.innerHTML = str;
- function forward(ele,ang) {
- ele.style.transform = `rotate(${ang}deg) translate(${len}px) rotate(${360-ang}deg)`;
- }
- function back(ele,ang) {
- ele.style.transform = `rotate(0deg) translate(0px) rotate(0deg)`;
- }
- setInterval(function() {
- if(go) {
- step = step - 1;
- if(step <= 0) go = false;
- forward(box.children[step],step*angle);
- } else {
- back(box.children[step],0);
- step = step + 1;
- if(step >= total) go = true;
- }
- },100);
- </script>
复制代码
|
评分
-
| 参与人数 1 | 威望 +50 |
金钱 +100 |
经验 +50 |
收起
理由
|
红影
| + 50 |
+ 100 |
+ 50 |
赞一个! |
查看全部评分
|