[bug] 页面高度不足导致的不能精确记录或总是滚动到顶部位置
ls-v opened this issue · 8 comments
原标题: 当移动端动态设置字体大小的时候 此插件没有效果
描述:
https://github.com/Likunone/vue-deom 求大神看看是什么问题
谢谢您提交issue给我!
插件是基于Vue-router
的,请确保router实例被成功创建,并正确使用本插件。
vue-scroll-behavior的核心代码并不涉及到字体等的相关操作,动态设置字体大小不会影响插件的使用,应该是其他操作导致的插件失效。
请您提供更多信息以及相关代码?
Thank you so much.😀
WebApp 很多滚动都不在 Body 上,建议可以注册在某个 Div 上
@WalterZou
目前版本的vue-scroll-behavior是从路由对应的整个视图出发的。正如你所说,记录某一块的滚动位置,的确有这个需求,目前社区里是也有类似的插件,vue-scroll-behavior将会在下一个版本里加入这个与之类似但有所不同的特性。
谢谢您的建议!😀
@jeneser 嗯,很多 fix 布局不使用 position:fix
而使用 position:absolute
配合 html,body{height:100%}
来实现,这样 scroll
就不放在 body 上了。
https://github.com/Likunone/vue-deom 求大神看看是什么问题
@Likunone
设置字体大小的时候 此插件没有效果
adaptive.js
的源码并未涉及滚动相关,所以问题不在这里,如果不介意我将修改此issue的标题。
应该算是vue-scroll-behavior的一个bug:
在切换路由之后,视图并未加载完成之前的这段时间里,页面的整体高度(document.body.style.height
)不足,导致无法滚动到已经保存的位置,页面总是滚动到顶部位置。其实,此时插件已经生效,只是因为上述原因发生了异常。如果插件没有生效,其行为表现应与此isseue类似:jeneser/douban#15
至于页面的高度不足,原因很多,影响最大是,前一个页面高度小于当前页面将要滚动的高度时,页面最多只能滚动到前一个页面的高度,导致不能精确记录或总是滚动到顶部位置。从测试你的项目来看,应该属于此类情况。将会通过模拟页面高度来解决此bug,使得不同场景下保持一致......
A huge thank you!
很多 fix 布局不使用 position:fix 而使用 position:absolute 配合 html,body{height:100%} 来实现,这样 scroll 就不放在 body 上了
目前的版本没有考虑到此类场景,这些有用的或者能提供一致行为的特性是亟待加入的。下一步将会加入或fix以下内容:
- Feat: 可自定义注册位置,包括但不仅限于,类似body的整体位置和自定义的用来标注位置的自定义指令。
- Fix: 页面高度不足导致的不能精确记录或总是滚动到顶部位置。
- Feat: 滚动时机的控制。页面的数据获取存在延迟,内容未填充导致的页面高度不足。会考虑加入延迟或是异步...
A huge thank you!
Hi,all
当前问题已修复,已经发布v0.1.6,重新安装来更新vue-scroll-behavior以修复此bug。
具体内容请查看本次PR:#4 或直接查看源码https://github.com/jeneser/vue-scroll-behavior/tree/master/src
相关特性的添加请移步#3
我将关闭本issue。
Thanks!