我有一个滑块。当用户滑动它时,它会调整图像的伽玛。这是代码,非常简单,可以完美运行。
$('#gammaSlider').slider({
max: 125,
min: -125,
value: 0,
slide: function () {
//stuff to adjust gamma of image
},
change: function () {
//stuff to adjust gamma of image
}
});
但是,当用户加载不同的图像时,我想以编程方式将滑块设置为新图像的值(也就是允许在具有单独伽马设置的多个页面之间来回翻转)。需要明确的是,新加载的图像的 gamma 已经处于上次设置的任何值。我只是想调整 UI 以匹配新图像的值。例如,如果我增加第 2 页的 gamma,然后翻到第 1 页,我需要将滑块从其增加的位置移回默认值,并且我需要在没有代码认为我正在尝试减少 gamma 的情况下这样做。
当我使用以下方法执行此操作时,会出现问题:
$('#gammaSlider').slider('value', gamma);
问题是这触发了我在上面的原始声明中为滑块设置的slide
和change
调用,导致它尝试使用新的伽玛值冗余地重新加载图像。有没有办法在不触发这些调用的情况下以编程方式更改滑块?