<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
*{
padding: 0;
margin:0;
}
.personcount em {
width: 12px;
height: 15px;
line-height: 15px;
color: #71b200;
border: 1px solid #e4e4e4;
background: #f8f8f8;
margin-left: 1px;
overflow: hidden;
display: inline-block;
text-align: center;
position: relative
}
div {
padding-top: 5px;
overflow: hidden;
}
</style>
<script src="http://a.dwstatic.com/huya/main/lib/jq_ud_mod_4de7709.js"></script>
<script>
(function($) {
$.fn.online = function(opt) {
var defaults = {
type: 1,
height: 15
};
var opts = $.extend(defaults, opt);
refreshPersonCount($(this));
/**
* 隔2秒刷新在線人數
*/
function refreshPersonCount($objs){
setInterval(function(){
$objs.each(function(){
var online = +($(this).attr('online')||$(this).data('online'));
var min=1,max=99;
var value1 = Math.floor(Math.random() * (max - min + 1)) + min; //取1到99之間的隨機數
if(opts.type==1){
var value2 = Math.floor(Math.random() * 2); //取0到1之間的隨機數
if(value2==0){
online += value1;
}else{
online -= value1;
}
}else{
online += value1;
}
createOnlineHtml($(this), online);
});
}, 2000);
}
/**
* 組裝在線人數
* @param el
* @param count
*/
function createOnlineHtml(el, count){
var arr = (count+'').split('');
var html = [],total=arr.length,len=el.find('em').length;
for(var i=0;i<total-len;i++){
html.push('<em>');
for(var j=0;j<10;j++){
if(j>0){
html.push('<br />');
}
html.push(j);
}
html.push('</em>');
}
for(var i=0;i<len-total;i++){
el.find('em:eq(0)').remove();
}
(el.attr('online')?el.attr('online',count):el.attr('data-online',count)).append(html.join(''));
for(var i= 0;i<total;i++){
el.find('em:eq('+i+')').attr('num',arr[i]);
}
animateNumber(el.find('em'),0);
}
/**
* 在線人數動畫
* @param els
* @param idx
*/
function animateNumber(els, idx){
if(idx>=els.length)return;
var $obj = els.eq(idx);
var num = +$obj.attr('num');
if(parseInt($obj[0].scrollTop)!=num*opts.height){
$obj.animate({'scrollTop':num*opts.height});
}
setTimeout(function(){
idx++;
animateNumber(els, idx);
},50);
}
};
})(jQuery);
</script>
</head>
<body>
<div><span class="personcount fl" gameid="JYJH" online="189936"></span></div>
<script>
$(".personcount").online({
height: 15
})
</script>
</body>
</html>
在線人數滾動的效果
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.