gpt4 book ai didi

javascript - jQuery Knob 使用 animate 更新值

转载 作者:行者123 更新时间:2023-11-28 12:33:15 27 4
gpt4 key购买 nike

我正在尝试使用 jQuery Knob 构建时钟。我的时钟正在工作( http://jsfiddle.net/Misiu/9Whck/1/ ),但现在我正在尝试添加一些额外的内容。
一开始我想将所有旋钮设置为 0,然后使用 animate 我想将它们的值动画化为当前时间,然后开始正常的计时器更新。

我的代码如下所示(此处演示:http://jsfiddle.net/Misiu/cvQED/81/):

$.when(
$('.h').animate({
value: h
}, {
duration: 1000,
easing: 'swing',
progress: function () {
$(this).val(Math.round(this.value)).trigger('change');
}
}),
$('.m').animate({
value: m
}, {
duration: 1000,
easing: 'swing',
progress: function () {
$(this).val(Math.round(this.value)).trigger('change');
}
}),
$('.s').animate({
value: s
}, {
duration: 1000,
easing: 'swing',
progress: function () {
$(this).val(Math.round(this.value)).trigger('change');
}
})).then(function () {
myDelay();
});

function myDelay() {
var d = new Date(),
s = d.getSeconds(),
m = d.getMinutes(),
h = d.getHours();
$('.h').val(h).trigger("change");
$('.m').val(m).trigger("change");
$('.s').val(s).trigger("change");
setTimeout(myDelay, 1000)
}

when 中,我必须分别为每个旋钮调用 animate,但我想使用 data-targetValue 并且在 when 中只有一个 animate。

这可以做到吗?

最佳答案

如果你想使用 data-targetValue 你需要像这样改变你的js

$('.h').data('targetValue', h);//$('.h').attr('targetValue', h);
$('.m').data('targetValue', m);
$('.s').data('targetValue', s);
//...
$.when(
$('.knob').each(function(){//each .knob
$(this).animate({//animate to data targetValue
value: $(this).data('targetValue')
}, {
duration: 1000,
easing: 'swing',
progress: function () {
$(this).val(Math.round(this.value)).trigger('change')
}
});
})
).then(function () {
myDelay();
});

http://jsfiddle.net/cvQED/83/
或没有 .each

$.when(
$('.knob').animate({
value: 100
}, {
duration: 1000,
easing: 'swing',
progress: function () {
$(this).val(Math.round(this.value/100*$(this).data('targetValue'))).trigger('change')
}
})
).then(function () {
myDelay();
});

http://jsfiddle.net/cvQED/84/

关于javascript - jQuery Knob 使用 animate 更新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19988768/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com