我有一个滑块改变我的div的不透明度值有点麻烦。以下是我一直在使用的小提琴:https://jsfiddle.net/yfmLk1ad/1/
$('#bgopacity').on('slide', function(value) {
$('.background-color').css({
opacity: value * '.01'
});
});

.background-color {
width: 500px;
height: 500px;
background: red;
opacity: .5;
}

<div class="background-color"></div>
<form>
<label>Color Opacity</label>
<input type="range" name="bgopacity" id="bgopacity" value="50" min="0" max="100" step="1" onchange="rangevalue.value=value">
<output id="rangevalue">50</output>
</form>
&#13;
答案 0 :(得分:10)
您必须使用change
事件。并且像这个($(this).val()
一样获取滑块的值,而不是作为参数传递。完成后,这将更新矩形以选择值。
// Opacity Slider
$('#bgopacity').on('change', function (value) {
$('.background-color').css({
opacity: $(this).val() * '.01'
});
});
&#13;
.background-color {
width: 500px;
height: 500px;
background: red;
opacity: .5;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<label>Color Opacity</label>
<input type="range" name="bgopacity" id="bgopacity" value="50" min="0" max="100" step="1" onchange="rangevalue.value=value">
<output id="rangevalue">50</output>
</form>
<div class="background-color"></div>
&#13;
对于实时更新,您可以使用input
事件。当值发生变化时会更新。
// Opacity Slider
$('#bgopacity').on('input', function (value) {
$('.background-color').css({
opacity: $(this).val() * '.01'
});
});
&#13;
.background-color {
width: 500px;
height: 500px;
background: red;
opacity: .5;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<label>Color Opacity</label>
<input type="range" name="bgopacity" id="bgopacity" value="50" min="0" max="100" step="1" onchange="rangevalue.value=value">
<output id="rangevalue">50</output>
</form>
<div class="background-color"></div>
&#13;
答案 1 :(得分:0)
首先,替换
$('#bgopacity').on('slide', function (){...});
与
$('#bgopacity').on('change', function (){..});
而不是value
使用$(this).val()