我有一个小问题。我需要创建圆形滑块,我没有找到任何可以帮助我的库,所以似乎我需要自己编写它。
这是我的问题:
我想创建类似上图的东西,但我找不到加载部分渐变的方法,例如:
甚至可以在js中加载部分图像吗?
我有一个小问题。我需要创建圆形滑块,我没有找到任何可以帮助我的库,所以似乎我需要自己编写它。
这是我的问题:
我想创建类似上图的东西,但我找不到加载部分渐变的方法,例如:
甚至可以在js中加载部分图像吗?
如果您不需要动态替换图像,我建议您在 Photoshop 等图像工具中进行准备。
如果您要替换的图像很少,我会在 Photoshop 中准备它们并通过 javascript 和 css 解决方案更改它们
否则我不知道。
没有办法在纯 JavaScript 中加载图像的一部分。相反,您可以使用精灵图像并使用背景位置:
function getBgPos(pct) {
if (pct < 12.5) { return '0 0'; }
else if (pct < 25) { return '-100px 0'; }
else if (pct < 37.5) { return '-200px 0'; }
else if (pct < 50) { return '-300px 0'; }
else if (pct < 62.5) { return '-400px 0'; }
else if (pct < 75) { return '-500px 0'; }
else if (pct < 87.5) { return '-600px 0'; }
else if (pct < 100) { return '-700px 0'; }
else { return '-800px 0'; }
};
i = 0;
setInterval(function () {
jQuery('#loader').css('background-position', getBgPos(i));
i += 12.5; if (i > 100) i = 0;
}, 500);
#loader {
display: block;
width: 100px;
height: 100px;
background: yellow url(https://i.stack.imgur.com/Xsf4k.png) no-repeat 0 0;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<img id="loader" src="https://i.stack.imgur.com/ArcTX.png" />
由于您要向后兼容,因此我将根据 Bertrand 的建议进行构建。. . 您可以轻松地制作一个“精灵”图像,其中包含滑块的所有各种“阶段”(即完成 20%、完成 40% 等),并在不同的 CSS 类中引用它的每个阶段。
这样,所有阶段都将在页面加载时作为一个图像加载,并且您可以使用 JavaScript 更新显示滑块的元素的类,从而更新滑块的进度。
我同意画布选项。另外-根据您要尝试做的事情,我会推荐-http://anthonyterrien.com/knob/
我用图像自定义了表盘本身,您可以设置显示部分的颜色。它可能不是您的完整解决方案 - 但理想情况下会为您指明正确的方向。