我正在尝试用一些html和javascript来更新多个竖条。我已经能够通过以下方式让它在1 bar工作:
的javascript
$('#inner').animate({height: + Math.floor(Math.random()*100) + "%"},500);
CSS
#outer {
width: 15px;
height: 140px;
border: 2px solid #ccc;
overflow: hidden;
position: relative;
}
#inner, #inner div {
width: 100%;
overflow: hidden;
left: -2px;
position: absolute;
}
#inner {
border: 2px solid #000;
border-top-width: 0;
background-color: #090;
bottom: 0;
height: 0%;
}
#inner div {
border: 1px solid red;
border-bottom-width: 0;
background-color: orange;
top: 0;
width: 100%;
height: 5px;
}
HTML
<div id="outer>
<div id="inner">
<div>height:'0%'</div>
</div>
</div>
我想要做的是使用以下内容更新多个条形码:
的javascript
var number_of_bars=30;
for (var i=0; i<number_of_bars; i++) {
$('#inner_'+ i).html('height:' + Math.floor(Math.random()*100) + "%");
}
但我需要引用特定的个别div。有人可以帮忙吗?
答案 0 :(得分:1)
以下是工作演示js-fiddle
javascript不是最佳的,我刚刚复制了你的代码。
function reload(){
$('.inner').each(function(){
$(this).animate({
height: +Math.floor(Math.random() * 100) + "%"
}, 500);
});
};
setInterval(reload, 1000);
<ul id="outer">
<li style="height:100%;width:1px"> </li>
<li class="inner">
<div>height:'0%'</div>
</li>
<li class="inner">
<div>height:'0%'</div>
</li>
<li class="inner">
<div>height:'0%'</div>
</li>
<li class="inner">
<div>height:'0%'</div>
</li>
<li class="inner">
<div>height:'0%'</div>
</li>
<li class="inner">
<div>height:'0%'</div>
</li>
<li class="inner">
<div>height:'0%'</div>
</li>
</ul>
#outer {
border: 2px solid #CCCCCC;
height: 140px;
overflow: hidden;
padding: 0;
position: relative;
}
#outer li {
border: 1px solid lightgray;
display: inline-block;
height: 99%;
overflow: hidden;
position: inherit;
width: 15px;
background-color:green;
}
#outer li div{
bottom: 0;
height: 0px;
position: absolute;
}
答案 1 :(得分:0)
/**
* Returns a random number between min and max
*/
function getRandomArbitary (min, max) {
return Math.random() * (max - min) + min;
}
从上复制的函数 Generating random whole numbers in JavaScript in a specific range?
var number_of_bars=30;
var mini=100;
var maxi=$(window).height();
for (var i=0; i<number_of_bars; i++) {
$('#inner_'+ i).html('height:' + getRandomArbitary (mini,maxi ) + "px");
}
我认为高度应位于px
而不是%
,以便它可以正常工作