我有以下兩個小提琴:
http://jsfiddle.net/uxp56hL0/ 這個是使用 jquery 3.6.0 和 jquery ui 1.13.1
http://jsfiddle.net/34oqnmca/2/ 這個是使用 jquery 1.6.2 和 jquery ui 1.8.4
第二個作業正常,第一個(然后使用較新版本)不能正常作業。我得到錯誤:
Uncaught TypeError: raw is undefined
新版本中是否有導致這種行為的重大變化?我試圖尋找 1.6 和 3.6 之間的一些變化(巨大的飛躍,我承認)但沒有運氣......
uj5u.com熱心網友回復:
我懷疑您的 CDN 有一些奇怪的庫,或者它們沒有正確鏈接。我對 Fiddle 做了一些小改動,它作業正常。
示例:https ://jsfiddle.net/Twisty/eobnxvza/8/
JavaScript
$(function() {
var myarray = ['2022-01', '2022-02', '2022-03', '2022-04', '2022-05', '2022-06', '2022-07', '2022-08', '2022-09', '2022-10', '2022-11', '2022-12']
$("#slider").slider({
range: true,
min: 0,
max: 11,
step: 1,
values: [4, 5],
slide: function(event, ui) {
var delay = function() {
var handleIndex = ui.handleIndex;
var label = handleIndex == 0 ? '#min' : '#max';
$(label).html(myarray[ui.value]).position({
my: 'center top',
at: 'center bottom',
of: ui.handle,
offset: "0, 10"
});
};
// wait for the ui.handle to set its position
setTimeout(delay, 5);
}
});
console.log('debug: ' $('#slider').slider('values', 0));
$('#min').html(myarray[$('#slider').slider('values', 0)]).position({
my: 'center top',
at: 'center bottom',
of: $('#slider .ui-slider-handle:eq(0)'),
offset: "0, 10"
});
console.log('debug: ' $('#slider').slider('values', 1));
$('#max').html(myarray[$('#slider').slider('values', 1)]).position({
my: 'center top',
at: 'center bottom',
of: $('#slider .ui-slider-handle:eq(1)'),
offset: "0, 10"
});
});
我把它包起來并調整了手柄的參考方式。運行第raw35 行或第 36 行時出現錯誤。我解決了這個問題,但仍然無法從 CSS 正確加載。所以我把它切換到以下資源:
<link rel="stylesheet" href="//code.jquery.com/ui/1.13.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-3.6.0.js"></script>
<script src="https://code.jquery.com/ui/1.13.1/jquery-ui.js"></script>
這現在可以正常作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/443695.html
