我希望在页面刷新期间阻止滑块动画,但在程序运行期间允许它。
我快到了:
// Initialise var animate as false
var animate = false;
// Jquery UI
function slider(min, max, step) {
$(target_slider).slider({
min: min,
max: max,
range: "min",
step: step,
// var animate set to false on load, so no animation from this guy:
animate: animate,
// var animate now set to true to allow animation every time slider is changed from now on:
var animate = true;
slide: function (event, ui) {
console.log("slider is moving!");
};
},
});
}
// Initialise slider
slider(0, 200, 0.01);
然而,第13行上将var animate变为true的代码被jquery UI视为语法不正确,那么如何更改变量“animate”?
我对javascript的范围仍然有点不稳定。如果jquery UI确实接受了我的变量更改,我的逻辑会工作吗?我假设它会因为var animate首先在全局范围内声明,但如果我错了请纠正我!
答案 0 :(得分:1)
您希望在初始化滑块后更改animate
的值:
...
slider(0, 200, 0.01);
animate = true;
...
此外,在定义变量后,您无需使用var
关键字来访问它。
更新查看API文档后,您可以使用setter方法在初始化后设置animate
属性。试试这个:
function slider(min, max, step) {
$(target_slider).slider({
min: min,
max: max,
range: "min",
step: step,
animate: false,
slide: function (event, ui) {
console.log("slider is moving!");
}
});
}
// Initialise slider
slider(0, 200, 0.01);
$(target_slider).slider('option', 'animate', 'fast');