JQuery 滑块不可见但可以正常工作
JQuery Slider Invisible But Otherwise Working
我在我的本地(桌面)html 页面上使用了 jquery 滑块,但我遇到了滑块不显示的问题。
它应该看起来像我写的这个 jsfiddle:
http://jsfiddle.net/RwfFH/143/
HTML
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.10.2/jquery-ui.min.js"></script>
<span id="ColorScalerTitle">Color Scaling</span>
<div id="red">
<span id="redScale">1</span>
</div>
<div id="green">
<span id="greenScale">1</span>
</div>
<div id="blue">
<span id="blueScale">1</span>
</div>
JAVASCRIPT
$( function() {
function refreshValues() {
var red = $( "#red" ).slider( "value" ),
green = $( "#green" ).slider( "value" ),
blue = $( "#blue" ).slider( "value" );
document.getElementById("redScale").innerHTML=red/100;
document.getElementById("greenScale").innerHTML=green/100;
document.getElementById("blueScale").innerHTML=blue/100;
}
$( "#red, #green, #blue" ).slider({
orientation: "horizontal",
range: "min",
max: 200,
value: 100,
slide: refreshValues,
change: refreshValues
});
$( "#red" ).slider( "value", 100 );
$( "#green" ).slider( "value", 100 );
$( "#blue" ).slider( "value", 100 );
});
CSS
#ColorScalerTitle{
float: left;
margin-left: 120px;
}
#red, #green, #blue {
float: left;
clear: left;
width: 300px;
margin: 15px;
}
#redScale, #greenScale, #blueScale {
margin-left: 320px;
}
#red .ui-slider-range,
#red .ui-slider-handle
{ background: #FF0000; }
#green .ui-slider-range,
#green .ui-slider-handle
{ border-color: #00FF00; }
#blue .ui-slider-range,
#blue .ui-slider-handle
{ border-color: #0000FF; }
但是在我的本地代码(不使用 jsfiddle)上,滑块不显示。滑块仍然有效,但显示为不可见。通过单击 JAVASCRIPT 旁边的齿轮并取消选中 jQuery UI 1.9.2,然后重新 运行(如此处所示:http://jsfiddle.net/RwfFH/142/)
我的 html 头脑中包括 jquery.min.js
和 jquery-ui.min.js
,所以我不确定问题出在哪里。
是否与jQuery加载不及时有关?我正在使用 window.addEventListener('DOMContentLoaded', main, false );
,其中 main 包含我的滑块代码。
滑块小部件依赖于插件 css sheet:
中定义的一些样式
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
(替换为合适的版本)
您的 fiddle 在 http://jsfiddle.net/7arrsaro/
中链接的 .css 文件工作正常
我在我的本地(桌面)html 页面上使用了 jquery 滑块,但我遇到了滑块不显示的问题。
它应该看起来像我写的这个 jsfiddle: http://jsfiddle.net/RwfFH/143/
HTML
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.10.2/jquery-ui.min.js"></script>
<span id="ColorScalerTitle">Color Scaling</span>
<div id="red">
<span id="redScale">1</span>
</div>
<div id="green">
<span id="greenScale">1</span>
</div>
<div id="blue">
<span id="blueScale">1</span>
</div>
JAVASCRIPT
$( function() {
function refreshValues() {
var red = $( "#red" ).slider( "value" ),
green = $( "#green" ).slider( "value" ),
blue = $( "#blue" ).slider( "value" );
document.getElementById("redScale").innerHTML=red/100;
document.getElementById("greenScale").innerHTML=green/100;
document.getElementById("blueScale").innerHTML=blue/100;
}
$( "#red, #green, #blue" ).slider({
orientation: "horizontal",
range: "min",
max: 200,
value: 100,
slide: refreshValues,
change: refreshValues
});
$( "#red" ).slider( "value", 100 );
$( "#green" ).slider( "value", 100 );
$( "#blue" ).slider( "value", 100 );
});
CSS
#ColorScalerTitle{
float: left;
margin-left: 120px;
}
#red, #green, #blue {
float: left;
clear: left;
width: 300px;
margin: 15px;
}
#redScale, #greenScale, #blueScale {
margin-left: 320px;
}
#red .ui-slider-range,
#red .ui-slider-handle
{ background: #FF0000; }
#green .ui-slider-range,
#green .ui-slider-handle
{ border-color: #00FF00; }
#blue .ui-slider-range,
#blue .ui-slider-handle
{ border-color: #0000FF; }
但是在我的本地代码(不使用 jsfiddle)上,滑块不显示。滑块仍然有效,但显示为不可见。通过单击 JAVASCRIPT 旁边的齿轮并取消选中 jQuery UI 1.9.2,然后重新 运行(如此处所示:http://jsfiddle.net/RwfFH/142/)
我的 html 头脑中包括 jquery.min.js
和 jquery-ui.min.js
,所以我不确定问题出在哪里。
是否与jQuery加载不及时有关?我正在使用 window.addEventListener('DOMContentLoaded', main, false );
,其中 main 包含我的滑块代码。
滑块小部件依赖于插件 css sheet:
中定义的一些样式<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
(替换为合适的版本)
您的 fiddle 在 http://jsfiddle.net/7arrsaro/
中链接的 .css 文件工作正常