我有一个页面,用户可以在其中调用滑块来更改图像的外观。只会有一个可见的滑块,但总共可能有 10 个。我没有为每个编写 js 函数,而是尝试使用HTML5 data-
变量来简化。
这是两个滑块的 html,一次只能看到一个:
<div class="editSliderHolder" id="brightness">
<label>Brightness</label>
<div class="editSlider" data-minVal="-20" data-maxVal="20" data-editValue="curValB"></div>
</div>
<div class="editSliderHolder" id="contrast">
<label>Contrast</label>
<div class="editSlider" data-minVal="-40" data-maxVal="40" data-editValue="curValC"></div>
</div>
还有我正在尝试的 JQuery:
$(document).ready(function () {
var div = $("div.editSlider");
div.slider({
value: 0,
min: div.data("minVal"),
max: div.data("maxVal"),
slide: function (event, ui) {
//alert(min); // check if value set
div.data("editValue", ui.value);
$(this).find('.ui-slider-handle').text(Math.round(ui.value));
},
stop: function(event, ui) {
div.data("editValue", ui.value);
Caman('#capEdit', function () {
this.revert(); // restore canvas
this.contrast(curValC); // add contrast
this.brightness(curValB); // add brightness
this.render(); // render it
});
}
});
});
所以会发生什么,为每个滑块设置最小值和最大值,以及确定要更改的效果的 ui.value,即在这种情况下,亮度或对比度。
没有设置任何值,我不知道为什么。有没有更好的方法来做到这一点,或者这段代码是错误的?