vue左右侧联动滚动的实现代码
本文介绍了vue左右侧联动滚动的实现代码,分享给大家,具体如下: 实现功能:
布局结构: 开源滚动库: 技术要点: 1. 如: 初始化在
2.foods-wrapper的高度小于content高度时才会发生滚动 3.点击左侧菜单列表时,只需要计算右侧对应的偏移距离 或是 计算对应的移动到的元素即可 方法一: 计算移动距离,用scrollTo()方法 方法二: 计算移动到的元素,用scrollToElement()方法 4.滚动右侧列表时,会稍复杂一些. 4.1. 因为需要知道滚动的元素在哪个item列表区间,因此需要计算右侧五组item距离顶部的距离 {
h += list[i].clientHeight
this.itemHeight.push(h)
})
console.log(this.itemHeight) //[0,481,850,2227,2820,3189]
}
4.2 时时监听滚动距离 需要在 代码如下:
其中 listenScroll probeType参数 在created中定义: 而@scroll=scroll是在scroll.vue中代理过来的方法: {
me.$emit('scroll',position) //参数position: position:{x:-10,y:24}
})
}
posiiton.y就是需要实时监听的参数,即: 其中 scrolly 需要在data中提前定义: 然后在watch中监听scrolly变化即可: = 0) this.currentIndex = 0
let itemHeight = this.itemHeight
for (let i = 0; i < itemHeight.length - 1; i++) {
let h1 = itemHeight[i]
let h2 = itemHeight[i + 1]
if (-newy >= h1 && -newy < h2) {
this.currentIndex = i
return
}
}
}
}
代码部分: //右侧结构 //js部分 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- c – typedef并在相同范围内使用同名的声明
- cocos2dx3.2 自定义精灵让精灵能够回调接收EventTouch事件,
- Postgresql:表名/模式混淆
- Oracle自定义函数,判断一个以逗号拼接的字符串是否完全包含
- Cocos2d-x学习之---Andorid关于返回键退出的一些小总结
- day_02&&XML02
- 如何在PostgreSQL中选择不区分大小写的JSONB密钥(9.4)
- 使用psycopg2 copy_from()在Postgresql中复制NULL值
- geoserver、openlayers、PostgreSQL 开发环境配置
- 减少C++代码编译时间的简单方法(必看篇)