Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[bug] 页面高度不足导致的不能精确记录或总是滚动到顶部位置 #2

Closed
ls-v opened this issue Jun 16, 2017 · 8 comments
Labels

Comments

@ls-v
Copy link

ls-v commented Jun 16, 2017

原标题: 当移动端动态设置字体大小的时候 此插件没有效果

描述:
https://github.com/Likunone/vue-deom 求大神看看是什么问题

@jeneser
Copy link
Owner

jeneser commented Jun 16, 2017

谢谢您提交issue给我!
插件是基于Vue-router的,请确保router实例被成功创建,并正确使用本插件。
vue-scroll-behavior的核心代码并不涉及到字体等的相关操作,动态设置字体大小不会影响插件的使用,应该是其他操作导致的插件失效。
请您提供更多信息以及相关代码?
Thank you so much.😀

@WalterZou
Copy link

WebApp 很多滚动都不在 Body 上,建议可以注册在某个 Div 上

@jeneser
Copy link
Owner

jeneser commented Jun 18, 2017

@WalterZou
目前版本的vue-scroll-behavior是从路由对应的整个视图出发的。正如你所说,记录某一块的滚动位置,的确有这个需求,目前社区里是也有类似的插件,vue-scroll-behavior将会在下一个版本里加入这个与之类似但有所不同的特性。
谢谢您的建议!😀

@WalterZou
Copy link

@jeneser 嗯,很多 fix 布局不使用 position:fix 而使用 position:absolute 配合 html,body{height:100%} 来实现,这样 scroll 就不放在 body 上了。

@ls-v
Copy link
Author

ls-v commented Jun 19, 2017

https://github.com/Likunone/vue-deom 求大神看看是什么问题

@jeneser
Copy link
Owner

jeneser commented Jun 20, 2017

@Likunone

设置字体大小的时候 此插件没有效果

adaptive.js的源码并未涉及滚动相关,所以问题不在这里,如果不介意我将修改此issue的标题。

应该算是vue-scroll-behavior的一个bug:
在切换路由之后,视图并未加载完成之前的这段时间里,页面的整体高度(document.body.style.height)不足,导致无法滚动到已经保存的位置,页面总是滚动到顶部位置。其实,此时插件已经生效,只是因为上述原因发生了异常。如果插件没有生效,其行为表现应与此isseue类似:jeneser/douban#15

至于页面的高度不足,原因很多,影响最大是,前一个页面高度小于当前页面将要滚动的高度时,页面最多只能滚动到前一个页面的高度,导致不能精确记录或总是滚动到顶部位置。从测试你的项目来看,应该属于此类情况。将会通过模拟页面高度来解决此bug,使得不同场景下保持一致......

A huge thank you!

@jeneser
Copy link
Owner

jeneser commented Jun 20, 2017

@WalterZou

很多 fix 布局不使用 position:fix 而使用 position:absolute 配合 html,body{height:100%} 来实现,这样 scroll 就不放在 body 上了

目前的版本没有考虑到此类场景,这些有用的或者能提供一致行为的特性是亟待加入的。下一步将会加入或fix以下内容:

  1. Feat: 可自定义注册位置,包括但不仅限于,类似body的整体位置和自定义的用来标注位置的自定义指令。
  2. Fix: 页面高度不足导致的不能精确记录或总是滚动到顶部位置。
  3. Feat: 滚动时机的控制。页面的数据获取存在延迟,内容未填充导致的页面高度不足。会考虑加入延迟或是异步...

A huge thank you!

@jeneser jeneser changed the title 当移动端动态设置字体大小的时候 此插件没有效果 [bug] 页面高度不足导致的不能精确记录或总是滚动到顶部位置 Jun 20, 2017
@jeneser jeneser added the bug label Jun 20, 2017
@jeneser
Copy link
Owner

jeneser commented Jun 24, 2017

Hi,all
当前问题已修复,已经发布v0.1.6,重新安装来更新vue-scroll-behavior以修复此bug。
具体内容请查看本次PR:#4 或直接查看源码https://github.com/jeneser/vue-scroll-behavior/tree/master/src
相关特性的添加请移步#3
我将关闭本issue。
Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants