评论资讯 [ 总 424 则 ]
·了了 - 2024-12-18 21:32
·悄然 - 2024-12-17 15:19
·悄然 - 2024-12-15 15:12
·悄然 - 2024-12-9 12:32
·飞飞 - 2024-12-9 12:31
·小希 - 2024-12-7 11:50
·飞飞 - 2024-12-5 15:53
·飞飞 - 2024-12-3 16:42
·悄然 - 2024-12-3 16:41
·飞飞 - 2024-12-1 18:27
·悄然 - 2024-12-17 15:19
·悄然 - 2024-12-15 15:12
·悄然 - 2024-12-9 12:32
·飞飞 - 2024-12-9 12:31
·小希 - 2024-12-7 11:50
·飞飞 - 2024-12-5 15:53
·飞飞 - 2024-12-3 16:42
·悄然 - 2024-12-3 16:41
·飞飞 - 2024-12-1 18:27
友情链接
网站统计
动态剪裁多叶草
以下代码,根据玫瑰线原理获得剪裁路径每一个预设点的xy坐标值,并通过polygon多边形参数赋值给待剪裁元素的clip-path属性。
<style> #mydiv { width: 100px; height: 100px; background: green; } </style> <div id="mydiv"></div> <script> let generateClover = (ele, points=200, coe=2) => { let r = ele.offsetWidth / 2, pathAr = []; Array.from({length: points}).forEach((item,key) => { let angle = key * 2 * Math.PI / points; let x = r - r * Math.sin(coe * angle) * Math.cos(angle), y = r - r * Math.sin(coe * angle) * Math.sin(angle); pathAr.push(x + 'px ' + y + 'px'); }); ele.style.clipPath = 'polygon(' + pathAr.join(', ') + ')'; }; generateClover(mydiv,100,2); </script>
函数generateClover()提供三个参数,参数一为待剪裁元素,必选;参数二和三位可选参数,其中,参数二是polygon剪裁点预设数,点越多剪裁的边缘越平滑;参数三为玫瑰花瓣系数,它为奇数时就是花瓣数、为偶数时花瓣数等于该数乘以二(因此,此法画不出六叶草)。
前一篇: JS:cloneNode 能做什么
下一篇: svg分组title信息的实现
发表评论:
评论列表 [0条]