我正在尝试创建一个jquery滑块,它基本上使用jquery滑块和switch语句使文本淡入淡出(和图片)。这是代码:
$(function(){
$sliderValue="";
// Slider
$('#slider').slider({
orientation: "vertical",
value : 100,
min: 0,
max: 100,
slide: function(event, ui) {
$("#slider_value").val(ui.value);
//$("p#time1").fadeTo("slow", 0.90);
},
stop: function(event, ui) {
$sliderValue=ui.value;
}
});
$('#slider').bind('slide', function() {
var sV = $sliderValue;
switch (sV) {
case 100:
$("p#time1").fadeTo("fast", 1);
break;
case 90:
$("p#time1").fadeTo("fast", 0.60);
break;
case 80:
$("p#time1").fadeTo("fast", 0.30);
break;
case 75:
$("p#time1").fadeTo("fast", 0.00);
break;
}
});
});
所以基本上这个switch语句只会在鼠标输出时触发(跛脚!)而且我不知道为什么!任何提示将不胜感激。
我需要在滚动滑块时更新(无需停止点击)。
提前致谢!
答案 0 :(得分:1)
不是switch语句没有运行,它只是运行旧数据。
看起来你只是在stop事件中设置$ sliderValue的值。但是,您在switch语句中使用$ sliderValue。
我也不确定是否有必要滑动事件(一个由bind设置,另一个在初始化。我会把它改成看起来像这样。
$(function(){
$sliderValue="";
// Slider
$('#slider').slider({
orientation: "vertical",
value : 100,
min: 0,
max: 100,
slide: function(event, ui) {
$("#slider_value").val(ui.value);
switch (ui.value) {
case 100:
$("p#time1").fadeTo("fast", 1);
break;
case 90:
$("p#time1").fadeTo("fast", 0.60);
break;
case 80:
$("p#time1").fadeTo("fast", 0.30);
break;
case 75:
$("p#time1").fadeTo("fast", 0.00);
break;
}
},
stop: function(event, ui) {
$sliderValue=ui.value;
}
});
答案 1 :(得分:0)
以下是我的评论:
以下是代码和示例:http://jsfiddle.net/fLmKC/
$(document).ready(function () {
// Slider
$('#slider').slider({
orientation: "vertical",
value : 1,
min: 0,
max: 1,
step: 0.01,
slide: function(event, ui) {
$("p#time1").css("opacity", ui.value);
},
});
});