cpkj.js 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. var cpkj=function(URL){
  2. var _this=this;
  3. this.ele=null;
  4. this.url=URL;
  5. this.opts=null;
  6. this.createEl=function(e,c,p){
  7. var ele=document.createElement(e);
  8. ele.setAttribute('class',c);
  9. p.appendChild(ele);
  10. return ele;
  11. },
  12. this.drawTheader=function(ele){
  13. ele.innerHTML='<div class="list-header-left col-xs-2">'+
  14. '<span class="iconfont icon-hot"></span>'+
  15. '<br />'+
  16. '<span class="cp-lable lotName"></span>'+
  17. '</div>'+
  18. '<div class="list-header-right col-xs-10 row">'+
  19. '<p class="col-xs-12 col-md-6">第 <span class="qishu"></span> 期开奖结果</p>'+
  20. // '<p class="col-xs-0 col-md-6 kjrq"></p>'+
  21. '</div>';
  22. }
  23. this.drawTball=function(ele){
  24. var balls="";
  25. var ballArr=_this.opts.preDrawCode.split(",");
  26. for(var i=0;i<ballArr.length-1;i++){
  27. balls+='<div class="ball-list red"></div>'
  28. }
  29. balls+='<div class="ball-list blue"></div>';
  30. ele.innerHTML=balls;
  31. }
  32. this.drawTnext=function(ele){
  33. ele.innerHTML='<p class="col-xs-12 col-md-4">奖池:<span class="jc"></span></p>'+
  34. '<p class="col-xs-12 col-md-8">距下期开奖仅剩: <span class="timebox"></span></p>'
  35. }
  36. this.drawTbutton=function(ele){
  37. ele.innerHTML='<div class="btn-list toHistory">开奖详情</div>'+
  38. '<div class="btn-list">历史开奖</div>'+
  39. '<div class="btn-list">走势</div>'+
  40. '<div class="btn-list">图库</div>'
  41. }
  42. this.getAjax=function(callback){
  43. $.ajax({
  44. url:_this.url,
  45. type:"get",
  46. success:function(res){
  47. // var data=eval('(' + res + ')');
  48. var data=JSON.parse(res);
  49. // console.log(data);
  50. _this.opts=data.result.data;
  51. // console.log('countdown',formatTime(_this.opts.drawTime));
  52. if(callback){
  53. callback();
  54. }
  55. }
  56. })
  57. }
  58. this.getData=function(){
  59. //header数据
  60. _this.addData("lotName",0,_this.opts.lotName);
  61. _this.addData("qishu",0,_this.opts.preDrawIssue);
  62. // _this.addData("kjrq",0,"每周二、周四、周日开奖");
  63. //小球数据
  64. var ballArr=_this.opts.preDrawCode.split(",");
  65. for(var i=0;i<ballArr.length-1;i++){
  66. _this.addData("red",i,ballArr[i]);
  67. }
  68. _this.addData("blue",0,ballArr[ballArr.length-1]);
  69. _this.lineHeight();
  70. //下期开奖数据
  71. _this.addData("jc",0,"4.2亿");
  72. _this.updateTime();
  73. }
  74. this.addData=function(className,i,text){
  75. _this.ele.getElementsByClassName(className)[i].innerText=text;
  76. }
  77. this.updateTime=function(){
  78. var countdown=formatTime(_this.opts.drawTime);
  79. if(countdown){
  80. _this.addData("timebox",0,countdown);
  81. setTimeout(_this.updateTime,1000);
  82. }
  83. else{
  84. _this.refresh();
  85. }
  86. }
  87. this.refresh=function(){
  88. _this.addData("timebox",0,"开奖中... ");
  89. var balljump=setInterval(_this.balljump,20);
  90. _this.getAjax(function(){
  91. var countdown=formatTime(_this.opts.drawTime);
  92. clearInterval(balljump);
  93. if(countdown){
  94. _this.getData();
  95. }
  96. else{
  97. _this.refresh();
  98. }
  99. })
  100. }
  101. //小球数据
  102. this.balljump=function(){
  103. var ballArr=_this.opts.preDrawCode.split(",");
  104. for(var i in ballArr){
  105. _this.addData("ball-list",i,getRandomNum(0,10));
  106. }
  107. _this.lineHeight(true);
  108. }
  109. this.lineHeight=function(jump){
  110. var newLineheight=30;
  111. if(jump){
  112. newLineheight=getRandomNum(0,50);
  113. }
  114. var balllists=_this.ele.getElementsByClassName("ball-list");
  115. for(var i=0;i<balllists.length;i++){
  116. balllists[i].style.lineHeight=newLineheight+"px"
  117. }
  118. }
  119. this.getCallback=function(ele){
  120. if(ele.addEventListener){
  121. ele.addEventListener("click",function(){
  122. test1();
  123. },false)
  124. }
  125. else {
  126. ele.attachEvent("onclick",function(){
  127. calback()
  128. });
  129. }
  130. var test1=function(){
  131. alert("喝杯咖啡再来吧");
  132. }
  133. }
  134. _this.getAjax(function(){
  135. var listBox=_this.createEl("div", "cpkj-list-box col-xs-12", document.getElementById("cpkj-wrapper"));
  136. _this.ele=_this.createEl("div", "cpkj-list",listBox);
  137. var t_header=_this.createEl("div", "cpkj-list-header row",_this.ele);
  138. var t_ball=_this.createEl("div", "cpkj-list-ball",_this.ele);
  139. var t_next=_this.createEl("div", "cpkj-list-next row",_this.ele);
  140. var t_button=_this.createEl("div", "cpkj-list-button",_this.ele);
  141. _this.drawTheader(t_header);
  142. _this.drawTnext(t_next);
  143. _this.drawTbutton(t_button);
  144. _this.drawTball(t_ball);
  145. // var countdown=formatTime(_this.opts.drawTime);
  146. // if(countdown){
  147. _this.getData();
  148. // }
  149. // else{
  150. // _this.refresh();
  151. // }
  152. _this.getCallback(_this.ele.getElementsByClassName("btn-list")[0]);
  153. _this.getCallback(_this.ele.getElementsByClassName("btn-list")[1]);
  154. _this.getCallback(_this.ele.getElementsByClassName("btn-list")[2]);
  155. _this.getCallback(_this.ele.getElementsByClassName("btn-list")[3]);
  156. });
  157. return _this;
  158. }