gpt4 book ai didi

javascript - 圆形 slider 背景不透明

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:55:16 24 4
gpt4 key购买 nike

我正在为一个平台制作问卷。我们想使用 jQuery 插件制作一个圆形 slider 。有一个问题;这是 slider 现在的样子:

Standard round slider

我想要的是一个白色圆圈透明的 slider ,这样你就可以看到渐变背景。但是 .. 一旦我删除了白色圆圈,我就得到了这个:

Slider after removing white circle

我使用的 jQuery 插件叫做 roundsliderui。有没有办法用这个插件解决这个问题(使内圈透明)?或者是否有一个插件,这是一个标准的可能性?我一直在四处寻找一段时间,但找不到正确的答案。我没有太多时间编写整个 Vanilla 代码。

最佳答案

有一个你要问的例子(取自 here )

var fn1 = $.fn.roundSlider.prototype._setProperties;
$.fn.roundSlider.prototype._setProperties = function () {
fn1.apply(this);
var o = this.options, r = o.radius, d = r * 2,
r1 = r - (o.width / 2) - this._border(true),
svgNS = "http://www.w3.org/2000/svg";
this._circum = Math.PI * (r1 * 2);

var $svg = $(document.createElementNS(svgNS, "svg"));
$svg.attr({ "height": d, "width": d });

this.$circle = $(document.createElementNS(svgNS, 'circle')).attr({
"fill": "transparent", "class": "rs-transition", "cx": r, "cy": r, "r": r1,
"stroke-width": o.width, "stroke-dasharray": this._circum
}).appendTo($svg);

this.$svg_box = $(document.createElement("div")).addClass("rs-transition rs-svg").append($svg).css({
"height": d, "width": d, "transform-origin": "50% 50%",
"transform": "rotate(" + (o.startAngle + 180) + "deg)"
}).appendTo(this.innerContainer);
}

var fn2 = $.fn.roundSlider.prototype._changeSliderValue;
$.fn.roundSlider.prototype._changeSliderValue = function (val, deg) {
fn2.apply(this, arguments);
deg = deg - this.options.startAngle;

if (this._rangeSlider) {
this.$svg_box.rsRotate(this._handle1.angle + 180);
deg = this._handle2.angle - this._handle1.angle;
}
var pct = (1 - (deg / 360)) * this._circum;
this.$circle.css({ strokeDashoffset: pct });
}
/// ### ---- ### --------------------- ### ---- ### ///


$("#slider").roundSlider({
width: 35,
radius: 115,
sliderType: "range",
value: "20,70",
startAngle: 90
})
body {
background-color: #ccc;

background-size: 100%;
background-repeat: no-repeat;
}
.rs-control .rs-range-color,
.rs-control .rs-path-color,
.rs-control .rs-bg-color {
background-color: transparent;
}
.rs-control circle {
/* mention the range color here */
stroke: #02b4ff;
}
.rs-border, .rs-handle {
border: 2px solid white;
}
.rs-handle{

}
.rs-tooltip-text{
font-size: 22px;
font-weight: bold;
color: #ff0202;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/jquery.roundslider/1.3/roundslider.min.js"></script>
<link href="https://cdn.jsdelivr.net/jquery.roundslider/1.3/roundslider.min.css" rel="stylesheet" />

<div id="root">
<div id="slider"></div>
</div>

关于javascript - 圆形 slider 背景不透明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46747243/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com