作者virgin7 (人类造不出天堂)
看板Web_Design
标题Re: [问题] 做了一个scroll测试,但有怪闪动...
时间Mon Dec 9 14:40:12 2013
嗨大家午安
不好意思是我没讲清楚,我所谓的闪动,不是一直不断的闪,只是一瞬间
而且这bug是滑鼠滚轮才会有,直接拉拉bar是正常的
我设定scrollTop滚动到1000时(见右上角辅助数字)
图片会fix在画面上,滚动>2000时,图片才会继续动
用滑鼠滚动时,除非你刚好滚到scrollTop=1000(见右上角)
如果你滚到950,再滚一次,图片就会抖一下然後fix住
会有抖动的现象(就那麽一瞬间抖了一下)
我规纳出一个结论,拉拉bar不会有问题
是因为拉bar的scrollTop是不断+1,当它+到1000时,图片就fix住
但滑鼠滚动一次不只是1,可能是100、200(视系统设定而定)
比方滚到950,再滚一次是1050
图片在滚动一瞬间还没有fix住,会往上卷动
但下一瞬间scrollTop已经超过1000,它又往回拉而fix住
或许是因此才会有闪动的问题
所以我想到一个解决方法,就是
”在某个区间里的滑鼠滚动设成滚动一次只有1,而非系统设定滚动是100”
(比如scrollTop==1000 < 在此区间滚动一次只有1 < scrollTop==2000)
....可是JQuery没有可控制滚轮事件的语法,网路虽有套件,有看没有懂= =
有前辈说我这样写在IE11全死,我还没装IE11,听到这噩耗也实在很想死Orz
※ 引述《virgin7 (人类造不出天堂)》之铭言:
: 早安大家
: 谢谢mmis1000前辈告知这个贴code的好地方
: 我的code在这里:http://jsfiddle.net/LhRm3/1/
: 主要是想问,图片滚动到某处就停在画面上
: 画面继续拉动到某处,图又会继续滚动
: 我的效果有做出来,但会有莫名闪动的bug
: 有前辈指点了个方法,正在试验
: 不过还是先贴出来,看我写的到底可不可行
: (说不定这类效果根本不是这样写,那就...orz)
: 最终理想效果是图片停住时会换图(假设是1.gif~100.gif的连续图档)
: 以上,感谢大家拨冗指点,假日愉快^^
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 180.204.212.88
1F:→ mmis1000:firefox的滚轮支援平滑卷动,所以不会有影响 12/09 15:57
2F:→ mmis1000:关掉平滑卷动还是正常,是浏览器专属bug吗 12/09 16:27
3F:推 danny8376:没说清楚 IE11全死应该是jsfiddle整个死掉XD 12/09 16:28
4F:→ danny8376:单纯直接开show的话是正常的www 12/09 16:32
5F:→ danny8376:这问题的话... 要看浏览器了 12/09 16:33
6F:→ danny8376:像IE的奇妙平滑会有这问题 12/09 16:34
7F:→ danny8376:主要是IE的scrollTop是直接跳格的 12/09 16:35
8F:→ mmis1000:ie似乎不会等dom全部变更完成就直接render,所以会闪动 12/09 16:35
9F:→ danny8376:但他的画面处理却是平滑处理 基本上这部分无解 12/09 16:35
10F:→ danny8376:跟render无关 主要是IE又来了个表里不一 12/09 16:36
11F:→ danny8376:有平滑的画面处理 倒是没平滑的座标更动 12/09 16:36