我有一个带有jQuery滑块的函数。它设置延迟时间并在“#slider”div中显示:
$(function () {
$("#slider").slider({
range: 'max',
min: 1,
max: 5,
slide: function(event,ui) {
$("#delayTime").val(ui.value);
delayTime = ui.value * 1000;
}
});
});
这本身就可行。
稍后在代码中我有另一个函数来运行整个幻灯片。 该函数有自己的参数,用于确定每张幻灯片之间的延迟时间:
function mySlideshow(){
var wholeSlideshow =
$('#thumbHolder').galleryWithSlideshow({
mainCntrls: true,
prevNextCntrls: true,
delayTime: 2000,
etc.
});
这个也很好地完成了。
问题。
我应该在代码中添加什么来传递我在滑块函数中获得的值 进入幻灯片放映功能的delayTime参数,以便滑块功能确定 幻灯片放映功能中的delayTime?
我正在考虑像这样修改滑块功能:
$(function () {
$("#slider").slider({
range: 'max',
min: 1,
max: 5,
slide: function(event,ui) {
$("#delayTime").val(ui.value);
delayTime = ui.value * 1000;
return delayTime;
}
});
});
以及添加到幻灯片功能的delayTime参数中,如下所示:
delay: function (event, ui){
$("#delayTime").val(delayTime);
},
虽然我无法使其发挥作用。
有什么想法吗? 我非常感谢你的帮助。
答案 0 :(得分:1)
在函数之外声明变量myDelayTime。整个代码都可以访问它。
var myDelayTime;
$(function () {
$("#slider").slider({
range: 'max',
min: 1,
max: 5,
slide: function(event,ui) {
$("#delayTime").val(ui.value);
delayTime = ui.value * 1000;
myDelayTime = delayTime;
}
});
});
...
delay: function (event, ui){
$("#delayTime").val(myDelayTime);
},
答案 1 :(得分:0)
将参数放入jQuery.data:
$(function () {
$("#slider").slider({
range: 'max',
min: 1,
max: 5,
slide: function(event,ui) {
$("#delayTime").val(ui.value);
delayTime = ui.value * 1000;
$("#slider").data("delayTime",delayTime);
}
});
});
然后在任何地方获取它:
delay: function (event, ui){
$("#delayTime").val($("#slider").data("delayTime"));
},