我想要在旋转时填充的旋钮动画。我是Knob的新手所以我不知道我的错误在哪里,或者我是否有正确的方向。现在它甚至没有显示一个圆圈:(
基本上我只想围绕一个填满悬停的图标。也许我可以轻松实现这一目标?
这是它的解决方案加上一点点修复,我将以正确的值开始和停止,这样你就可以在不破坏它的情况下中断动画
HTML:
<input type="text" value="0" id="circle" />
Javascript:
$(function() {
$('.circle').knob({
min: '0',
max: '100',
readOnly: true,
displayInput: false
});
$('.circle').parent().hover( function() {console.log("hover");
$({ value: $('.circle').val() }).animate(
{ value: 100 },
{ duration: 300,
easing: 'swing',
progress: function() {
$('.circle').val(Math.round(this.value)).trigger('change');
}
});
}, function() {
$({ value: $('.circle').val() }).animate(
{ value: 0 },
{
duration: 300,
easing: 'swing',
progress: function() {
$('.circle').val(Math.round(this.value)).trigger('change');
}
});
});
});
以下是JSFiddle
答案 0 :(得分:1)
您需要将悬停处理程序更改为#circle的父级或将displayInput更改为true
$(function() {
$('#circle').knob({
min: '0',
max: '100',
readOnly: true,
displayInput: false
});
//$('#circle').parent() is the new div that contains the input and the canvas
$('#circle').parent().hover( function() {
$({ value: 0 }).animate(
{ value: 100 },
{ duration: 1000,
easing: 'swing',
progress: function() {
$('#circle').val(Math.round(this.value)).trigger('change');
}
});
}, function() {
$({ value: 100 }).animate(
{ value: 0 },
{
duration: 1000,
easing: 'swing',
progress: function() {
$('#circle').val(Math.round(this.value)).trigger('change');
}
});
});
});//you need to close with ');'
你需要在小提琴中包含knob.js,否则你会收到'404 Not Found'错误并包含jquery,否则你会收到此错误'未捕获的ReferenceError:$未定义'
http://jsfiddle.net/dWsuP/1/