【微信小程序】回到顶部图标-页面滚动事件 | 漫画-综合实训

一、回到顶部-页面滚动事件

在微信小程序中,如果你想将“回到顶部”的功能按钮换成图标,你可以通过以下步骤实现:

1. 准备图标

首先,你需要准备一个图标图片。这个图标可以是任何你选择的格式,如 PNG 或 SVG。将图标图片放置在你的小程序项目的合适位置,例如在 /images 文件夹下。

2.在页面的 .js 文件中添加一个用于存储滚动位置的变量。

 确保你的 .js 文件中有逻辑来处理点击事件,使得页面滚动到顶部。

// pages/some-page/some-page.js
Page({
  data: {
   scrollTop: 0, // 存储滚动位置
  },
  onScroll: function(options) {
    this.setData({
     scrollTop: options.scrollTop
    });
  },
  scrollToTop: function() {
    wx.pageScrollTo({
      scrollTop: 0, // 返回顶部
      duration: 300 // 动画时长
    });
  }
});

3. 添加样式(可选)

 如果你需要,可以在 .wxss 文件中为图标添加样式,例如改变大小、添加边框或阴影等。

/* pages/some-page/some-page.wxss */
.scroll-to-top-image {
  width: 90rpx;
  height: 90rpx;
  position: fixed; /* 固定定位 */
  bottom: 20rpx; /* 距离底部20rpx */
  right: 20rpx; /* 距离右侧20rpx */
  /* 其他样式 */
}

4. WXML 文件

在你的 .wxml 文件中,使用 image 组件,并设置点击事件来触发回到顶部的功能。 

<image src="/images/scroll-to-top.png" class="scroll-to-top-image" bindtap="scrollToTop"></image>

5. 测试功能

在微信开发者工具中测试你的页面,确保点击图标时页面能够平滑地滚动到顶部。

二、回到顶部-升级版 全代码

1.在项目根目录里里面新建component文件夹,再在里面新建ToTop文件夹

2.在ToTop文件夹里面新建component,命名ToTop。

3.ToTop.wxml

<!-- component/ToTop/ToTop.wxml -->
<view class="to-top">
  <image class="to-img" src="/image/scroll-to-top.png" bind:tap="toTop" />
</view>

1.4ToTop.wxss

/* component/ToTop/ToTop.wxss */
.to-top {
  /* 设置组件的宽度和高度为70rpx,rpx是微信小程序中的尺寸单位,可以根据屏幕宽度自动缩放 */
  width: 70rpx;
  height: 70rpx;
  /* 设置背景颜色为半透明的灰色 */
  background-color: rgba(128, 128, 128, 0.3);
  /* 设置边框圆角为50%,使得组件的边缘呈现圆形 */
  border-radius: 50%;
  /* 使用flex布局,使得子元素可以在父元素中灵活排列 */
  display: flex;
  /* 将内容在主轴(默认是垂直方向)上居中对齐 */
  justify-content: center;
  /* 将内容在侧轴(默认是水平方向)上居中对齐 */
  align-items: center;
  /* 固定定位,相对于浏览器窗口进行定位 */
  position: fixed;
  /* 距离右侧边缘30rpx */
  right: 30rpx;
  /* 距离顶部80%,这里80%是相对于视口高度的百分比 */
  top: 80%;
  /* 层级 */
  z-index: 999;
}

.to-img {
  /* 设置图片的宽度和高度为65rpx */
  width: 65rpx;
  height: 65rpx;
}

1.5ToTop.js

// component/ToTop/ToTop.js
Component({
  // 组件的方法列表
  methods: {
    // 回到顶部
    toTop() {
      wx.pageScrollTo({
        scrollTop: 0,
        duration: 300
      })
    }
  }
})

1.6.在需要的页面json文件中引入 home.json

{
  "usingComponents": {
    "ToTop": "../../component/ToTop/ToTop"
  }
}

1.7.使用home.wxml

<!--pages/home/home.wxml-->
<!-- div ==> view  img ==> image -->
<view class="home">
  <!-- 搜索框开始 -->
  <van-search shape="round" background="#fff" placeholder="{{defaultSearchHint}}" bind:click-input="onClickInput">
  </van-search>
  <!-- 搜索框结束 -->


  <!-- 轮播图开始 -->
  <swiper indicator-dots indicator-active-color="#ff4796" autoplay interval="3000" circular>
    <!-- wx:for="{{数据}}" wx:key  默认 index下标   item每一项 -->
    <swiper-item wx:for="{{bannerList}}" wx:key="index">
      <image src="{{item.pic}}" referrerPolicy="no-referrer" class="b-img" />
    </swiper-item>
  </swiper>
  <!-- 轮播图结束 -->

  <!-- 列表开始 -->
  <view class="tab">
    <!-- 每一列 -->
    <view class="tab-list" wx:for="{{tabList}}" wx:key="index" wx:if="{{item.list.length}}">
      <!-- 标题 -->
      <view class="name">{{item.name}}</view>
      <van-row gutter="10">
        <van-col span="8" wx:for="{{item.list}}" wx:key="index2" wx:for-item="item2" wx:for-index="index2">
          <image src="{{item2.pic}}" referrerPolicy="no-referrer" class="t-img" />
          <view class="title one-txt">{{item2.title}}</view>
          <view class="tag one-txt">{{item2.tag}}</view>
        </van-col>
      </van-row>
    </view>
  </view>
  <!-- 列表结束 -->

  <!-- 回到顶部开始 -->
  <ToTop></ToTop>
  <!-- 回到顶部结束 -->
</view>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/951759.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

通过一个含多个包且引用外部jar包的项目实例感受Maven的便利性

目录 1 引言2 手工构建3 基于Maven的构建4 总结 1 引言 最近在阅读一本Java Web的书籍1时&#xff0c;手工实现书上的一个含多个Packages的例子&#xff0c;手工进行编译、运行&#xff0c;最终实现了效果。但感觉到整个构建过程非常繁琐&#xff0c;不仅要手写各个源文件的编…

el-tree拖拽光标错位问题

背景&#xff1a;el-tree实现的分类树增加拖拽功能后&#xff0c;当分类树由于数量较多产生滚动条&#xff0c;如果分类树已滚动&#xff0c;进行拖拽时会造成光标错位的问题: 原因&#xff1a;el-tree拖拽光标定位的高度并未加上滚动的高度解决&#xff1a;将滚动的样式属性放…

【YashanDB知识库】解决mybatis的mapper文件sql语句结尾加分号“;“报错

本文内容来自YashanDB官网&#xff0c;原文内容请见 https://www.yashandb.com/newsinfo/7863046.html?templateId1718516 现象 mybatis或mybaits-plus的mapper文件sql结尾加分号";" 执行时报错&#xff1a;”YAS-04209 unexpected word;“ 解决办法 将sql结尾…

day03-前端Web-Vue3.0基础

目录 前言1. Vue概述2. 快速入门2.1 需求2.2 步骤2.3 实现 3. Vue指令3.1 介绍3.2 v-for3.2.1 介绍3.2.2 演示3.2.3 v-for的key3.2.4 案例-列表渲染 3.3 v-bind3.3.1 介绍3.3.2 演示3.3.3 案例-图片展示 3.4 v-if & v-show3.4.1 介绍3.4.2 案例-性别职位展示 3.6 v-model3.…

Spring Web 嵌套对象校验失效

问题复现 当开发一个学籍管理系统时&#xff0c;我们会提供了一个 API 接口去添加学生的相关信息&#xff0c;学生中有个嵌套属性联系电话&#xff0c;其对象定义参考下面的代码&#xff1a; import lombok.Data; import javax.validation.constraints.Size; Data public class…

计算机网络 (27)IP多播

前言 IP多播&#xff08;也称多址广播或组播&#xff09;技术是一种允许一台或多台主机&#xff08;多播源&#xff09;发送单一数据包到多台主机&#xff08;一次性的、同时的&#xff09;的TCP/IP网络技术。 一、基本概念 定义&#xff1a;多播作为一点对多点的通信&#xff…

计算机毕业设计PyHive+Hadoop深圳共享单车预测系统 共享单车数据分析可视化大屏 共享单车爬虫 共享单车数据仓库 机器学习 深度学习

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

口碑很好的国产LDO芯片,有哪些?

在几乎任何一个电路设计中&#xff0c;都可能会使用LDO&#xff08;低压差线性稳压器&#xff09;这个器件。 虽然LDO不是什么高性能的IC&#xff0c;但LDO芯片市场竞争异常激烈。最近几年&#xff0c;诞生了越来越多的精品国产LDO&#xff0c;让人看得眼花缭乱。 业内人士曾经…

Transformer:深度学习的变革力量

深度学习领域的发展日新月异&#xff0c;在自然语言处理&#xff08;NLP&#xff09;、计算机视觉等领域取得了巨大突破。然而&#xff0c;早期的循环神经网络&#xff08;RNN&#xff09;在处理长序列时面临着梯度消失、并行计算能力不足等瓶颈。而 Transformer 的横空出世&am…

低代码从“产品驱动”向“场景驱动”转型,助力数字化平台构建

一、前言 在数字化时代的大潮中&#xff0c;从宏观层面来看&#xff0c;新技术的落地速度不断加快&#xff0c;各行各业的数字化进程呈现出如火如荼的态势。而从微观层面剖析&#xff0c;企业面临着行业格局快速变化、市场竞争日益激烈以及成本压力显著增强等诸多挑战。 据专…

01-51单片机LED与独立按键

一、单片机概述 注意&#xff1a;个人学习笔记&#xff0c;里面涉及到的C语言和进程转换相关的知识在C语言部分已经写了&#xff0c;这里是默认都会的状态学习单片机。 1.什么是单片机 单片机&#xff0c;英文Micro Controller Unit&#xff0c;简称MCU。其内部集成了CPU、R…

腾讯云AI代码助手编程挑战赛-刑说

作品简介 鉴于当代普法力度不够大&#xff0c;这个刑说可以帮助大家更好的普及法律知识 技术架构 采用了全后端分离的架构&#xff0c;前端使用Vue.js&#xff0c;腾讯云的AI服务处理自然语言理解与生成。 实现过程 开发环境、开发流程 系统&#xff1a;win11 开发工具&…

Elasticsearch:聚合操作

这里写目录标题 一、聚合的概述二、聚合的分类1、指标聚合&#xff08;Metric Aggregation&#xff09;2、桶聚合&#xff08;Bucket Aggregation&#xff09;3、管道聚合&#xff08;Pipeline Aggregation&#xff09; 三、ES聚合分析不精准原因分析四、聚合性能优化1、ES聚合…

升级 Spring Boot 3 配置讲解 —— 为何 SpringBoot3 淘汰了 JDK8?

学会这款 &#x1f525;全新设计的 Java 脚手架 &#xff0c;从此面试不再怕&#xff01; 随着 Spring Boot 3 的发布&#xff0c;许多开发者发现了一个重要的变化&#xff1a;Spring Boot 3 不再支持 JDK 8。这一变化引发了不少讨论&#xff0c;尤其是对于那些仍然在使用 JDK …

rhcsa练习(3)

1 、创建文件命令练习&#xff1a; &#xff08; 1 &#xff09; 在 / 目录下创建一个临时目录 test &#xff1b; mkdir /test &#xff08; 2 &#xff09;在临时目录 test 下创建五个文件&#xff0c;文件名分别为 passwd &#xff0c; group &#xff0c; bashrc &#x…

汽车免拆诊断 | 2007款保时捷Carrera S车行驶中发动机冷却液温度报警灯异常点亮

故障现象 一辆2007款保时捷Carrera S车&#xff0c;搭载3.8 L自然吸气发动机&#xff0c;累计行驶里程约为7.8万km。车主反映&#xff0c;车辆行驶一段距离后&#xff0c;组合仪表上的发动机冷却液温度报警灯异常点亮。为此&#xff0c;在其他维修厂已更换过节温器、发动机冷却…

ffmpeg7.0 aac转pcm

#pragma once #define __STDC_CONSTANT_MACROS #define _CRT_SECURE_NO_WARNINGSextern "C" { #include "libavcodec/avcodec.h" }//缓冲区大小&#xff08;缓存5帧数据&#xff09; #define AUDIO_INBUF_SIZE 40960 /*name depthu8 8s16 …

Clisoft SOS设置Server和Project

Clisoft SOS设置Server和Project 一、关于SOS Servers、Clients、Projects和Work Areas 以下三个图是官方文档中介绍的三种情况 图1&#xff1a;带有两个客户端的SOS服务器 图2&#xff1a;使用本地缓存服务器 图3&#xff1a;远程设计团队的缓存服务器 因为SOS软件需要…

Windows 安装 Docker 和 Docker Compose

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall ︱vue3-element-admin︱youlai-boot︱vue-uniapp-template &#x1f33a; 仓库主页&#xff1a; GitCode︱ Gitee ︱ Github &#x1f496; 欢迎点赞 &#x1f44d; 收藏 ⭐评论 …

深入理解plt和got表

前言 plt表和got表是和链接过程相关的表。我们知道&#xff0c;一个可执行文件的生成过程需要经过预处理&#xff0c;编译&#xff0c;汇编&#xff0c;链接四个过程。链接又分为静态链接和动态链接。静态链接是发生在程序执行之前&#xff0c;动态链接是发生在程序执行中。 …