index.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. var currentCid = 1; // 当前分类 id
  2. var cur_page = 1; // 当前页
  3. var total_page = 1; // 总页数
  4. var data_querying = false; // 是否正在向后台获取数据
  5. $(function () {
  6. // 首次进入,去加载新闻列表数据
  7. updateNewsData();
  8. // 首页分类切换
  9. $('.menu li').click(function () {
  10. var clickCid = $(this).attr('data-cid');
  11. $('.menu li').each(function () {
  12. $(this).removeClass('active')
  13. });
  14. $(this).addClass('active');
  15. if (clickCid != currentCid) {
  16. // 记录当前分类id
  17. currentCid = clickCid;
  18. // 重置分页参数
  19. cur_page = 1;
  20. total_page = 1;
  21. data_querying = false
  22. updateNewsData()
  23. }
  24. });
  25. //页面滚动加载相关
  26. $(window).scroll(function () {
  27. // 浏览器窗口高度
  28. var showHeight = $(window).height();
  29. // 整个网页的高度
  30. var pageHeight = $(document).height();
  31. // 页面可以滚动的距离
  32. var canScrollHeight = pageHeight - showHeight;
  33. // 页面滚动了多少,这个是随着页面滚动实时变化的
  34. var nowScroll = $(document).scrollTop();
  35. if ((canScrollHeight - nowScroll) < 100) {
  36. // TODO 判断页数,去更新新闻数据
  37. if(!data_querying){
  38. // 正在查询数据设置标志位true
  39. data_querying = true;
  40. // 如果当前页数还没到达总页数,则进行查询
  41. if(cur_page < total_page){
  42. // 向后端发送请求
  43. updateNewsData();
  44. }else{
  45. data_querying = false;
  46. }
  47. }
  48. }
  49. })
  50. })
  51. function updateNewsData() {
  52. // TODO 更新新闻数据
  53. var params = {
  54. "page": cur_page,
  55. "cid": currentCid,
  56. "per_page": 10
  57. }
  58. $.get("/newslist", params, function (resp) {
  59. //数据返回,则把查询标识为置为false,可下次继续查询
  60. data_querying = false
  61. if(resp){
  62. total_page = resp.data.total_page;
  63. if (cur_page == 1){
  64. // 先清空原数据
  65. $(".list_con").html('');
  66. }
  67. cur_page += 1;
  68. // 显示数据
  69. for(var i=0; i<resp.data.news_list.length; i++){
  70. var news = resp.data.news_list[i];
  71. var content = '<li>';
  72. content += '<a href="/news/'+ news.id +'" class="news_pic fl"><img src="' + news.index_image_url + '?imageView2/1/w/170/h/170"></a>'
  73. content += '<a href="/news/'+ news.id +'" class="news_title fl">' + news.title + '</a>'
  74. content += '<a href="/news/'+ news.id +'" class="news_detail fl">' + news.digest + '</a>'
  75. content += '<div class="author_info fl">'
  76. content += '<div class="source fl">来源:' + news.source + '</div>'
  77. content += '<div class="time fl">' + news.create_time + '</div>'
  78. content += '</div>';
  79. content += '</li>';
  80. $(".list_con").append(content)
  81. }
  82. }
  83. })
  84. }