我在同一页面上有多个滑块,我将它们初始化为:
$(".percentage-slider").each(function (index, slider) {
var url = $(this).data('ajax-url');
var value = $(this).data('value');
noUiSlider.create(slider, {
start: value,
connect: "lower",
step: 1,
range: {
min: 0,
max: 100
},
pips: {
mode: 'range',
density: 3
}
});
slider.noUiSlider.on('change', function (values, handle) {
save(url, {
'name': 'percentage',
'value': values[handle]
});
});
});
问题是我有一个模式窗口的ajax调用,其中有一堆新的滑块......
Modal.open($('#ajax-modal'), $(this).attr('href'), function () {
$(".percentage-slider").each(function (index, slider) {
var url = $(this).data('ajax-url');
var value = $(this).data('value');
$(slider).destroy();
noUiSlider.create(slider, {
start: value,
connect: "lower",
behaviour: 'tap',
step: 1,
range: {
min: 0,
max: 100
},
pips: {
mode: 'range',
density: 5
}
});
slider.noUiSlider.on('change', function (values, handle) {
save(url, {
'name': 'percentage',
'value': values[handle]
});
});
});
});
总是当我调用模态滑块没有出现时,我试图在ajax调用的回调事件中初始化它们,但是我得到了一个错误Slider已经初始化了..在找到这个错误之后我找到了我需要摧毁他们,但我怎么能处理这种情况呢? P.S。:我真的不喜欢在模态上复制和粘贴相同代码的想法......如果有人能有更好的解决方案,我会很感激。
谢谢大家