help.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. import common from '../../utils/util';
  2. import main from '../../utils/main';
  3. const app = getApp();
  4. Page({
  5. data: {
  6. scrollTop: 0,
  7. showReturnBtn: false, // 控制返回顶部按钮的显示/隐藏
  8. },
  9. onLoad: function (options) {
  10. let that = this;
  11. //debugger;
  12. let arr=[];
  13. for(let i=0;i<24;i++){
  14. let id=i.toString();
  15. if (i<10)
  16. id="0"+id;
  17. let obj={};
  18. obj.ID=id;
  19. arr.push(obj);
  20. }
  21. that.setData({
  22. Containnerheight: main.getWindowHeight(),
  23. List:arr,
  24. });
  25. main.checkGenerating();
  26. if (options.ID){
  27. setTimeout(function(){
  28. that.handleImageTap({currentTarget:{dataset:{id:options.ID}}});
  29. },1000);
  30. }
  31. },
  32. // 处理图片点击事件,实现锚点功能
  33. handleImageTap: function(e) {
  34. const id = e.currentTarget.dataset.id;
  35. let targetId="",offsetY=0;
  36. switch(id) {
  37. case "02":
  38. targetId = "img07";
  39. offsetY=40;
  40. break;
  41. case "03":
  42. targetId = "img09";
  43. offsetY=210;
  44. break;
  45. case "04":
  46. targetId = "img12";
  47. offsetY=50;
  48. break;
  49. case "05":
  50. targetId = "img17";
  51. offsetY=220;
  52. break;
  53. case "06":
  54. targetId = "img21";
  55. offsetY=-80;
  56. break;
  57. default:
  58. targetId = "";
  59. offsetY=0;
  60. break;
  61. }
  62. // 使用微信小程序的API滚动到目标元素
  63. wx.createSelectorQuery()
  64. .select('#' + targetId)
  65. .boundingClientRect(function(rect){
  66. if(rect){
  67. wx.pageScrollTo({
  68. scrollTop: rect.top+offsetY,
  69. duration: 300
  70. });
  71. }
  72. })
  73. .exec();
  74. },
  75. returnTop:function(){
  76. wx.pageScrollTo({
  77. scrollTop: 0,
  78. duration: 300
  79. });
  80. },
  81. // 监听页面滚动
  82. onPageScroll: function(e) {
  83. // 获取当前的scrollTop
  84. const scrollTop = e.scrollTop;
  85. // 更新scrollTop数据
  86. this.setData({
  87. scrollTop: scrollTop
  88. });
  89. // 当滚动距离超过一屏(这里以屏幕高度的一半为例)时显示返回顶部按钮
  90. // 获取系统信息来确定屏幕高度
  91. const screenHeight = wx.getSystemInfoSync().windowHeight;
  92. const threshold = screenHeight / 2; // 设置阈值为屏幕高度的一半
  93. // 根据scrollTop决定是否显示返回按钮
  94. if (scrollTop > threshold && !this.data.showReturnBtn) {
  95. this.setData({
  96. showReturnBtn: true
  97. });
  98. } else if (scrollTop <= threshold && this.data.showReturnBtn) {
  99. this.setData({
  100. showReturnBtn: false
  101. });
  102. }
  103. },
  104. onShareAppMessage: function () {
  105. return {
  106. title: app.globalData.ShareTitle,
  107. path: app.globalData.SharePath + '?UserID=' + app.globalData.userInfo.UserID,
  108. imageUrl: app.globalData.ShareImage,
  109. }
  110. },
  111. })