JavaScript运行时如何将递增变量x赋值给clipPath的polygon参数?
动态修改clipPath的polygon参数值
要把变量x的值替换掉原代码里的两个10%,只需要通过字符串拼接或者ES6模板字符串,把变量值插入到clipPath的字符串中即可,以下是两种可行写法:
写法一:传统字符串拼接
var x = 0; function myTimer() { var el = document.getElementById("Screen_1_Dial_Left_LOW_slider_ID"); // 将变量x与%拼接后插入到对应位置 el.style.clipPath = "polygon(" + x + "% 0%, 100% 0, 100% 100%, " + x + "% 100%)"; x++; }
写法二:ES6模板字符串(更简洁)
let x = 0; function myTimer() { const el = document.getElementById("Screen_1_Dial_Left_LOW_slider_ID"); // 使用${}语法直接插入变量x,无需手动拼接 el.style.clipPath = `polygon(${x}% 0%, 100% 0, 100% 100%, ${x}% 100%)`; x++; }
注意事项
- 必须给变量
x加上%符号,保持与原代码的百分比单位一致,否则clipPath无法正确解析 - 可以给
x添加边界控制,比如if(x > 100) x = 0;,防止数值过大导致裁剪效果异常
内容的提问来源于stack exchange,提问作者Katoch
相关产品推荐
相关产品推荐

