摆动垂直进度条
我学习了如何使用This Question中的横条构建一个整洁,动态调整大小的垂直进度条。
现在,我想让它变得有趣!
酒吧的摆动功能应该:
element
,height
,speed
,& random
element
身高百分比我正在寻找最简单的答案。请解释一下你是如何做到的,这样我们JS新手就可以学习技巧!在最佳答案上发布+50的赏金。
加成:
如果您的功能也是如此,我会在您的答案中添加+100 Bounty。
我问这个问题因为我还不知道怎么做。 但是,我将从我迄今学到的东西中尝试一下,并保留我的 进展在这里。
答案 0 :(得分:14)
答案 1 :(得分:8)
真的很喜欢玩这个,所以谢谢你:)我采用了不同的方法,但代码更少。我想我的颜色有点过分,如果需要我可以把它改回红黄绿色。
$('#change-height').on('click', function() {
var element = $('.attendance-level');
var height = parseInt( $('#true-height').val() ); // %
var speed = 1000; //ms
var random = 50; //px
bar_wobble( element, height, speed, random );
});
function bar_wobble(element, height, speed, random) {
//set the color
$(element).css('-webkit-filter','hue-rotate('+ 140*(250/height) +'deg)'); //red = 0 deg, green = 140deg
//wibbly wobbly timey wimey stuff
height = height/100*250;
var number_of_wobbles = 3;
for(var i=1; i<=number_of_wobbles; i++)
{ $(element).animate({ height: (height + random/i )+'px'}, speed/(number_of_wobbles*2 + 1));
$(element).animate({ height: (height - random/i )+'px'}, speed/(number_of_wobbles*2 + 1));
console.log( {i: i, random_i: random/i, random:random, height:height } );
}
$(element).animate({ height: height+'px'}, speed/(number_of_wobbles*2 + 1));
}
答案 2 :(得分:5)
不要认为StackOverflow是针对这些问题的,但是哦,感觉就像这样,所以做出了比理智的人更广泛的答案。
让我先介绍一下我所采用的几种技术及其理由
X-Tags,X-tags是由Mozilla开发的Web Components Custom Element polyfill。它允许我们编写类似
的内容<x-bar id="test"></x-bar>
然后再做
var xbar1 = document.getElementById("test");
xbar1.value = 10;
xbar1.speed = 2;
xbar1.wobble = 10;
xbar1.effect= "dampen";
酷吧?但这意味着您首先需要阅读文档here。在您能够理解代码之前。
y=sin(t)
和一个更复杂的减震波。人们也可以很容易地添加其他波浪,但这些似乎是最合理有趣的波浪。由于代码本身超过200行,我将不在此处发布,您可以在this jsfiddle找到它。