当前位置: 首页 > news >正文

企业手机网站建设定制免费建网站软件系统

企业手机网站建设定制,免费建网站软件系统,线上商城运营的主要工作,优秀网站主题实现锚点定位和滚动监听功能 1. 思路解析2. 代码示例 效果截图示例: 点击左侧menu,右侧列表数据实现锚点定位 1. 思路解析 点击左侧按钮,更新右侧scroll-view对应的scroll-into-view的值,即可实现右侧锚点定位滚动右侧区域&am…

实现锚点定位和滚动监听功能

  • 1. 思路解析
  • 2. 代码示例

效果截图示例:

  • 点击左侧menu,右侧列表数据实现锚点定位
    在这里插入图片描述

1. 思路解析

  • 点击左侧按钮,更新右侧scroll-view对应的scroll-into-view的值,即可实现右侧锚点定位
  • 滚动右侧区域,计算右侧滚动距离 动态更新左侧scroll-view对应的scroll-into-view的值,即可实现左侧锚点定位(暂无需求,先提供思路)

【scroll-view官网】

2. 代码示例

HTML


<view><!-- 左侧menu --><scroll-view scroll-y="true" :scroll-into-view="category.categoryMenuIntoView"scroll-with-animation="true"><view :id='"category-menu-" + index' v-for="(item, index) in category.coffeeList" :key="item.categoryId" @click="switchCategoryMenu(item,index)">{{ item.categoryName }}		</view></scroll-view><!-- 右侧列表 --><scroll-view scroll-y="true" :scroll-into-view="category.coffeeIntoView" scroll-with-animation="true"><view :id='"category-coffee-" + index' @scroll='coffeeScroll'>{{item.name}}</view></scroll-view></view>

重点:

  • scroll-into-view:值应为某子元素id(id不能以数字开头)。设置哪个方向可滚动,则在哪个方向滚动到该元素
  • id设置:唯一值切不能为数字开头(后续需该值赋给scroll-into-view

JS

// 定义数据
const category = reactive({idx: 0,coffeeList: [],categoryMenuIntoView: 'category-menu-0',coffeeIntoView: 'category-coffee-0'})/*** 点击切换左侧menu*/
const switchCategoryMenu = (item, index) => {if (category.idx == index) return console.log('点击即为当前选中分类,无需切换逻辑')category.idx = indexcategory.categoryMenuIntoView = `category-menu-${index}`category.coffeeIntoView = `category-coffee-${index}`
}/***  onLoad之后执行,预先计算出右侧锚点卡片的范围*/
const getDistanceToTop = () => {distanceList.value = []; // 清空旧的距离列表const selectorQuery = uni.createSelectorQuery();selectorQuery.selectAll('.coffee-box').boundingClientRect(rects => {console.log('rects.map(rect => rect.top)', rects.map(rect => rect.top))distanceList.value = rects.map(rect => rect.top); // 直接映射为 `top` 值}).exec();
}/***  节流监听右侧区域滚动,联动左侧menu锚点定位*  根据滚动出的距离,属于getDistanceToTop对应的哪一个范围,动态修改左侧scroll-into-view的值即可*/
const coffeeScroll = throttle((event) => {let scrollTop = event.detail.scrollTop;
}, 200); // 节流时间 300ms


如此即可实现锚点定位功能。(滚动监听功能后续可能会更新)

http://www.yayakq.cn/news/373195/

相关文章:

  • 淘宝的网站怎么做安徽做网站找谁
  • 广州专业做外贸网站莱西网站建设
  • 湖南省百川电力建设有限公司网站网站软件下载
  • 考研门户网站的建设wordpress添加支付宝打赏
  • 企业做国际站哪个网站好市场调研的基本流程
  • 黑龙省建设厅网站wordpress图片备用地址
  • 网站被管理员权限wordpress用户前端页面
  • 苏州建设公司网站代理公司注册网站
  • 句容做网站如何建设微信网站
  • 高端网站制作哪家好快速做网站
  • 代做设计网站电子商务网站建设与运营的试题
  • 怎样找网站wordpress怎么添加登录界面
  • 广东建设公司网站智慧团建网站登录平台pc端
  • 网站建设pdf 下载天津建设协会网站首页
  • wordpress网站百度搜索吗网站建设竞价托管
  • 备案个人网站名称漳州网络科技有限公司
  • 基于用户体验的网站设计ai做图标教程网站
  • 望城网站建设网页设计与网站建设期末考试
  • 网站建设发展状况黄山旅游攻略必去景点
  • 商业类网站网站系统有哪些
  • 唐山市建设交易中心官方网站自定义网站模板
  • 网站备案 写共享可以吗山东省住房和城乡建设厅网站电话
  • 广东网站建设公司排名建站助手
  • 企业网站优化之如何做需求分析网架加工厂选择徐州先禾网架
  • 怎么样做搜索引擎网站丹东网站推广
  • 学做吃的的网站灰色网站建设
  • 深圳市做网站东莞短视频seo优化
  • 深圳住建设局网站公租房cps推广
  • 网站建设 $ 金手指排名效果好设计师一般用什么网站
  • 微服务网站php做不了大型网站