我对jquery很陌生,但这是个问题。从下面的代码中,我在一个标签中制作了3个滑块。三者中的每一个都有一个输入字段,当滑块移动以显示滑块的当前值时,该字段会发生变化(简单的jQueryUI插件滑块)。最后一行涉及到另一个插件,该插件将所有滑块链接在一起,使它们加起来总共100个,并在其他滑块移动时移动。
我遇到的问题是,当我滑动一个时,它的值会改变并显示出来,但其他的值不会。我可以通过一些额外的代码行来更改所有的值,但我不知道如何获得(这个)ui.value,以便为每个滑块显示单独的值。
你可以在第三个滑块中看到,我试图让它做到这一点,但它的设置方式只使用当前移动滑块的相同ui.value。
当我需要更改其他滑块的ui.value时,有人能帮我找到一个解决方案吗?
($(function() {
$( "#RedSlider" ).slider({
orientation: "horizontal",
range: "min",
min: 0,
max: 100,
value: 1,
animate: true,
slide: function( event, ui ) {
$( "#RedValue" ).val( ui.value );}
});
$( "#RedValue" ).val( $( "#RedSlider" ).slider( "value" ) );
});
$(function() {
$( "#BlueSlider" ).slider({
orientation: "horizontal",
range: "min",
min: 0,
max: 100,
value: 1,
animate: true,
slide: function( event, ui ) {
$( "#BlueValue" ).val( ui.value );}
});
$( "#BlueValue" ).val( $( "#BlueSlider" ).slider( "value" ) );
});
$(function()
{
$( "#EmptySlider" ).slider({
orientation: "horizontal",
range: "min",
min: 0,
max: 100,
value: 98,
animate: true,
slide: function( event, ui )
{
$( "#EmptyValue" ).val( ui.value );
$( "#RedValue").val(ui.value);
$( "#BlueValue").val(ui.value);
}
});
$( "#EmptyValue" ).val( $( "#EmptySlider" ).slider( "value" ) );
$( "#RedValue").val($("RedSlider)").slider("value"));
$( "#BlueValue").val($("RedSlider)").slider("value"));
});*/
$('div:gt(2)').slider().linkedSliders({policy: 'last'});
您的代码将只执行一次。您需要更改以下行:
$("#BlueValue").val($("#BlueSlider").looper("value"));
在任何需要的时候选择滑块的值时都要与众不同。
此代码:
$( "#BlueValue" ).val( $( "#BlueSlider" ).slider( "value" ) );
将只执行一次。您需要在滑块的值更改回调中设置该值,以便不断更新该值。