game-center.min.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. /**
  2. * Created by admin on 2018/1/8.
  3. */
  4. require(['config'], function () {
  5. require(['jquery', 'pagination'], function ($, pagination) {
  6. var arr = [];
  7. var typearr = '';
  8. // var basurl = $('#gamedetailUrl').val();
  9. var classifyID = null;
  10. initGameCenter();
  11. tc_Event();
  12. function initGameCenter() {
  13. classifyID = $('#js-classifyTab a:first-child').attr('classifyid');
  14. $('#js-classifyTab a:first-child').addClass('active')
  15. }
  16. function tc_Event() {
  17. $('#tc_Tab a').on('click', function () {
  18. if ($(this).hasClass('active')) {
  19. return false;
  20. }
  21. typearr = $(this).attr('tpid');
  22. $(this).addClass('active').siblings().removeClass('active');
  23. renderGamelist()
  24. })
  25. }
  26. function gamehtml(res) {
  27. var gameshtml = '';
  28. var starhtml = '';
  29. var data = res.game_list.list;
  30. for (var i=0;i< data.length;i++) {
  31. starhtml = '';
  32. for (var j=0;j<data[i].star_cnt;j++) {
  33. starhtml += '<img src="__STATIC__/web/pc/images/star_icon.svg" alt="">'
  34. }
  35. var type = data[i].type.split(',').splice(0,1).join('');
  36. gameshtml += ' <div class="gc_body_item">\n' +
  37. ' <a target="_blank" title="'+data[i].gamename+'" href="/v8/game/detail/gameid/' +data[i].gameid+ '.html' + '"><img src="'+data[i].icon+'" alt="" class="gc_body_img"></a>\n' +
  38. ' <p class="gc_body_title"><a title="'+data[i].gamename+'" href="/v8/game/detail/gameid/'+data[i].gameid+'.html'+'">'+data[i].gamename+'</a></p>\n' +
  39. ' <p class="gc_body_dtl"><b>'+type+'</b>&nbsp;|&nbsp;'+data[i].size+'</p>\n' +
  40. ' <div class="gc_body_star">\n' +
  41. ' <p class="clearfix">'+starhtml+'</p>\n' +
  42. ' </div>\n' +
  43. ' <a href="'+data[i].down_url+'" class="gc_body_dw">立即下载</a>\n' +
  44. ' </div>'
  45. }
  46. $('#gametpl').html(gameshtml)
  47. }
  48. $('#js-classifyTab a').on('click', function () {
  49. $(this).addClass('active').siblings().removeClass('active')
  50. classifyID = $(this).attr('classifyid');
  51. renderGamelist()
  52. })
  53. $('#gctype_Tab a').on('click', function () {
  54. $(this).addClass('active').siblings().removeClass('active')
  55. var index = $(this).index() - 1;
  56. var html = '';
  57. var children;
  58. var tcidArr = [];
  59. if (index < 0) {
  60. typearr = '';
  61. renderGamelist(1)
  62. return
  63. }
  64. tcidArr.push(arr.list[index].typeid)
  65. if (arr.list[index].sublist) {
  66. children = arr.list[index].sublist;
  67. for (var i=0;i<children.length;i++) {
  68. tcidArr.push(children[i].typeid)
  69. html += '<a href="javascript:;" tpid="'+children[i].typeid+'">'+children[i].typename+'</a>'
  70. }
  71. } else {
  72. html = '';
  73. }
  74. $('#tc_Tab').html(html)
  75. typearr = tcidArr.join(',');
  76. renderGamelist(1);
  77. tc_Event();
  78. })
  79. // 生成游戏分类
  80. // renderClassify();
  81. renderPagination();
  82. // 头部颜色
  83. var bgColor = ['#F0EEEE','#EFF1E9','#E4EDE4','#F0E5E2','#DAE7EC','#F4EAF1','#F5F5F5'];
  84. $('.gc_top_cnt dl.active .cnt_dd>a').each(function(){
  85. var itemBgColor = Math.ceil(Math.random() * bgColor.length);
  86. $(this).css({'backgroundColor': bgColor[itemBgColor]});
  87. });
  88. function renderClassify() {
  89. // fetch
  90. // render
  91. }
  92. function renderGamelist(page) {
  93. page = page || 1;
  94. $.ajax({
  95. url: '',
  96. type: 'get',
  97. data: {
  98. classify: classifyID,
  99. type: typearr,
  100. page: page
  101. },
  102. success: function (res) {
  103. gamehtml(res)
  104. initpage(res.game_list.count, page)
  105. $('#findnum').text('找到 '+res.game_list.count+' 个游戏')
  106. arr = res.type;
  107. }
  108. })
  109. }
  110. function renderPagination(count) {
  111. renderGamelist();
  112. }
  113. function initpage(count, page) {
  114. console.log(count);
  115. pagination({
  116. elem : '#pagination',
  117. total : count,
  118. callback: renderGamelist,
  119. size : 10,
  120. number : page
  121. });
  122. }
  123. });
  124. });