page1.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. $(function () {
  2. const globaldata = {
  3. // 用户是否登录
  4. user: false,
  5. // 登录弹框
  6. sgin () {
  7. $("#toast").addClass("show").find("#sgin").addClass("show").unbind("click").click(function () {
  8. window.location.href = "https://www.baidu.com"
  9. });
  10. }
  11. }
  12. // 显示区高度
  13. let ch = document.documentElement.clientHeight || document.body.clientHeight;
  14. // 实现评论区加载
  15. let lock = false;
  16. $(window).scroll(function () {
  17. if (lock) return false;
  18. // 滑动区高度
  19. let sh = document.documentElement.scrollHeight || document.body.scrollHeight;
  20. // 滑动位置
  21. let st = document.documentElement.scrollTop || document.body.scrollTop;
  22. let c = sh * 1 - ch * 1 - st * 1;
  23. if (c == 0) {
  24. lock = true;
  25. $(".comment>.loading").addClass("show")
  26. setTimeout(function (
  27. ) {
  28. $(".comment>.loading").removeClass("show");
  29. data().then(res => {
  30. if (res) {
  31. $(".comment>.nodata").addClass("show");
  32. }
  33. lock = res;
  34. });
  35. }, 2000)
  36. }
  37. })
  38. // 阅读量问题
  39. // 评论区
  40. function data () {
  41. // 请求 根据请求改变内容 唯一标识 data-userid="1" data-good="false"
  42. let com = `<div class="user" data-good="false" data-userid="1" >
  43. <div class="u-img"><img src="../imgs/qq.png" alt="" class="img"></div>
  44. <div class="u-content">
  45. <div class="u-flex">
  46. <div class="u-name">QQ官方</div>
  47. <div class="u-fabulous" data-gods="1"><span>0</span><i data-gods="1" style="margin-left:5px" class="glyphicon glyphicon-thumbs-up"></i></div>
  48. </div>
  49. <div class="u-detail">
  50. 对此,广东警官学院表示,其普通高等教育(全日制)招生工作严格执行教育部的“阳光高考”规定和工作程序,不以任何形式承诺录取,不因任何理由降低标准录取。学校从未委托任何个人、中介组织或招生机构开展提前招生、高职扩招等宣
  51. </div>
  52. <div class="u-flex">
  53. <div class="u-date">2020-12-15</div>
  54. <div data-gods="2" class="u-report">举报</div>
  55. </div>
  56. </div>
  57. </div>`;
  58. return new Promise(resolve => {
  59. $("#detail").append(com);
  60. //评论点赞 登录状态 请求
  61. let lists = $("#detail>.user");
  62. // 模拟无信息加载情况
  63. if (lists.length == 10) {
  64. resolve(true)
  65. }
  66. for (let i = 0; i < lists.length; i++) {
  67. $(lists[i]).unbind("click");
  68. $(lists[i]).click(function (e) {
  69. if (!globaldata.user) {
  70. globaldata.sgin();
  71. return false
  72. }
  73. let userid = $(this).data("userid");
  74. let lock = $(this).data("good");
  75. let gods = e.target.dataset.gods;
  76. if (gods == 1) {
  77. let $i = $(this).find("i");
  78. let $span = $(this).find("span");
  79. let num = $span.text();
  80. if (!lock) {
  81. $i.addClass("color");
  82. $(this).data("good", true);
  83. $span.text(num * 1 + 1);
  84. } else {
  85. $i.removeClass("color");
  86. $(this).data("good", false);
  87. $span.text(num * 1 - 1);
  88. }
  89. return false;
  90. }
  91. if (gods == 2) {
  92. $("#toast").addClass("show").find("#report").addClass("show").data("userid", userid);
  93. }
  94. })
  95. }
  96. resolve(false);
  97. })
  98. }
  99. // 阅读点赞 登录状态 请求
  100. $("#read>.good").click(function () {
  101. if (!globaldata.user) {
  102. globaldata.sgin();
  103. return false
  104. }
  105. let $i = $(this).find("i");
  106. let $span = $(this).find("span");
  107. let num = $span.text();
  108. let lock = $i.data("good");
  109. if (!lock) {
  110. $i.addClass("color");
  111. $i.data("good", true);
  112. $span.text(num * 1 + 1);
  113. } else {
  114. $i.removeClass("color");
  115. $i.data("good", false);
  116. $span.text(num * 1 - 1);
  117. }
  118. })
  119. })