我将jQuery版本从2.1.1升级到了3.3.1。
版本迁移后,我看不到滑块功能正常运行。
我同时包含了jquery.min.js和jquery-ui.min.js。
请让我知道我是否丢失任何东西。
指向错误的代码段:
var slider = $(elem).slider({
range: "min",
value: scope.config.mapValues.indexOf(scope.bandwidth),
min: scope.config.min,
step: scope.config.step,
max: scope.config.mapValues.length-1,
disabled: scope.disabledFlag,
slide: function(event, ui) {
if(ui.value > scope.maxLimit){
return false;
}
scope.$apply(function() {
scope.slideValue = scope.config.mapValues[ui.value];
});
},
stop: function( event, ui ) {
if(scope.bandwidth > scope.maxLimit){
scope._resetBandWidth();
scope.$apply(function() {
var currentValue = scope.config.mapValues[scope.maxLimit];
if(ui.value <= scope.maxLimit) {
currentValue = scope.config.mapValues[ui.value];
}
scope.bandwidth = currentValue;
scope.slideValue = currentValue;
});
return false;
}
scope.$apply(function() {
var bandwidthValue = scope.config.mapValues[ui.value];
scope.bandwidth = bandwidthValue;
scope.slideValue = bandwidthValue;
});
}
}).append(disableDiv);
下图显示了我在控制台中看到的错误。
jQuery-UI - “Cannot read property 'step' of undefined” error image
答案 0 :(得分:-1)
@Suhasini Venkatesh,您好
缩小的JS可能有问题。
与您的jquery.min.js
一起使用jquery-3.3.1.js而不是jquery-ui.min.js
。
<script src="https://code.jquery.com/jquery-3.3.1.js" integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60=" crossorigin="anonymous"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js" integrity="sha256-T0Vest3yCU7pafRw9r+settMBX6JkKN06dqBnpQ8d30=" crossorigin="anonymous"></script>
编辑:
Slim显然删除了jQuery UI
中所需的某些功能。要解决此问题,请使用完整版的jQuery。有关更多详细信息,请参见this
希望对您有用。如果没有,请在评论中让我知道。