home.js 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. function getParams(url) {
  2. var theRequest = new Object();
  3. if (!url)
  4. url = location.href;
  5. if (url.indexOf("?") !== -1) {
  6. var str = url.substr(url.indexOf("?") + 1) + "&";
  7. var strs = str.split("&");
  8. for (var i = 0; i < strs.length - 1; i++) {
  9. var key = strs[i].substring(0, strs[i].indexOf("="));
  10. var val = strs[i].substring(strs[i].indexOf("=") + 1);
  11. theRequest[key] = val;
  12. }
  13. }
  14. return theRequest;
  15. }
  16. var objUrl = {}; //获取get参数
  17. var url = window.location.href;
  18. var params = getParams(url);
  19. if (!$.isEmptyObject(params)) {
  20. $.each(params, function (key, val) {
  21. objUrl[key] = val;
  22. })
  23. }
  24. /*----------------定义页面全局变量-----------------------*/
  25. // 页数
  26. var page = 0;
  27. // 每页展示5个
  28. var size = 10;
  29. //资讯ID
  30. var thisID = 0;
  31. /*----------------------------------------------------------------------------------*/
  32. // 封装 ajax 方法
  33. function AjaxFn() {
  34. page = 0;
  35. page++;
  36. $.ajax({
  37. type: 'GET',
  38. url: '/json/homeform?&page=' + page + '&limit=' + size + '&cid=' + thisID,
  39. dataType: 'json',
  40. success: function (data) {
  41. if (data.code == 200) {
  42. $('.news_list').append(ModuleWay(data.data)) //调用选择模块
  43. }
  44. // alert(data);
  45. // 每次数据加载完,必须重置
  46. // me.resetload();
  47. },
  48. error: function (xhr, type) {
  49. // alert('Ajax error!');
  50. // 即使加载出错,也得重置
  51. // me.resetload();
  52. }
  53. });
  54. // 上滑加载
  55. // $('.news_list').dropload({
  56. // // 调用加载
  57. // scrollArea : window,
  58. // threshold:2/3,
  59. // loadDownFn : function(me){
  60. //
  61. // }
  62. // });
  63. }
  64. // 选择各个模块
  65. function ModuleWay(conditions) {
  66. var _html = "";
  67. $.each(conditions.data, function (key, val) {
  68. if (val.thumb != null && val.thumb != "" && val.thumb.length == 1 && val.thumb_size == 1) {
  69. _html += '<div class="plan_one">';
  70. _html += '<a href="/news/details/' + val.id + '">';
  71. _html += '<div class="plan_one_title">';
  72. _html += '<p>' + val.subject + '</p>';
  73. _html += ' <p> <span class="guis">' + val.source + '</span><span class="data">' + val.open_time + '</span> <span class="see"><img src="/image/see.png" alt="">' + val.clicks + '</span></p>';
  74. _html += '</div>';
  75. _html += '<div class="plan_one_img"><img src="' + conditions.url + val.thumb[0] + '" alt=""></div>';
  76. _html += '</a>';
  77. _html += '</div>';
  78. } else if (val.thumb != null && val.thumb != "" && val.thumb.length > 1) {
  79. _html += '<div class="plan_two">';
  80. _html += '<a href="/news/details/' + val.id + '">';
  81. _html += '<div class="plan_two_title">' + val.subject + '</div>';
  82. _html += '<div class="plan_two_img">';
  83. _html += '<ul>';
  84. for (k in val.thumb) {
  85. _html += '<li><img src="' + conditions.url + val.thumb[k] + '" alt=""></li>';
  86. }
  87. _html += '</ul>';
  88. _html += '</div>';
  89. _html += '<div class="plan_two_label">' + val.source + '<span class="data">' + val.open_time + '</span> <span class="see"><img src="/image/see.png" alt="">' + val.clicks + '</span></div>';
  90. _html += '</a>';
  91. _html += '</div>';
  92. } else if (val.thumb_size == 2) {
  93. _html += '<div class="plan_three">';
  94. _html += '<a href="/news/details/' + val.id + '">';
  95. _html += '<div class="plan_two_title">' + val.subject + '</div>';
  96. _html += '<div class="plan_three_img"><img src="' + conditions.url + val.thumb[0] + '" alt=""></div>';
  97. _html += '<div class="plan_two_label">' + val.source + '<span class="data">' + val.open_time + '</span> <span class="see"><img src="/image/see.png" alt="">' + val.clicks + '</span></div>';
  98. _html += '</a>';
  99. _html += '</div>';
  100. }
  101. })
  102. return _html;
  103. }
  104. $(function () {
  105. // 判断 objUrl 是否从别到页面跳转到这里
  106. if (typeof objUrl.cid == "string") {
  107. thisID = objUrl.cid;
  108. }
  109. // 默认遍历第一个选中的数据
  110. // $('.news_nav ul li').eq(0).find('a').addClass('on');
  111. // $('.news_nav ul li').each(function(){
  112. // var $that = $(this);
  113. // var label = $that.find('a').attr('class');
  114. // var oid = $that.find('a').attr('data-id');
  115. // if(label == 'on'){
  116. // thisID = oid;
  117. // }
  118. // if(oid == thisID){
  119. // // console.log($that.html())
  120. // $that.find('a').addClass('on');
  121. // }
  122. //
  123. // })
  124. // 点击切换导航栏 ajax 切换
  125. $(".news_nav ul").on('click', 'li', function () {
  126. var $this = $(this);
  127. thisID = $this.find('a').attr('data-id');
  128. $('.news_list').html(""); //切换内容之前先清空盒子
  129. // AjaxFn(); //调用Ajax方法
  130. page = 0;
  131. fun();
  132. })
  133. console.log(thisID)
  134. function fun() {
  135. // 上滑加载
  136. $('.news_list').dropload({
  137. // 调用加载
  138. scrollArea: window,
  139. // threshold:2/3,
  140. loadDownFn: function (me) {
  141. page++;
  142. $('.dropload-down').show();
  143. $.ajax({
  144. type: 'GET',
  145. url: '/json/homeform?&page=' + page + '&limit=' + size + '&cid=' + thisID,
  146. dataType: 'json',
  147. success: function (data) {
  148. // console.log(data);
  149. if (data.code == 200) {
  150. $('.news_list').append(ModuleWay(data.data)) //调用选择模块
  151. } else {
  152. // 锁定
  153. me.lock();
  154. // 无数据
  155. me.noData();
  156. }
  157. // alert(data);
  158. // 每次数据加载完,必须重置
  159. setTimeout(function () {
  160. // 插入数据到页面,放到最后面
  161. // $('.news_list').append(result);
  162. // 每次数据插入,必须重置
  163. me.resetload();
  164. }, 1000);
  165. // me.resetload();
  166. $('.dropload-down').hide();
  167. },
  168. error: function (xhr, type) {
  169. // alert('Ajax error!');
  170. // 即使加载出错,也得重置
  171. me.resetload();
  172. }
  173. });
  174. }
  175. });
  176. }
  177. fun();
  178. })