作者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
→ mmis1000:firefox的滾輪支援平滑捲動,所以不會有影響 12/09 15:57
→ mmis1000:關掉平滑捲動還是正常,是瀏覽器專屬bug嗎 12/09 16:27
推 danny8376:沒說清楚 IE11全死應該是jsfiddle整個死掉XD 12/09 16:28
→ danny8376:單純直接開show的話是正常的www 12/09 16:32
→ danny8376:這問題的話... 要看瀏覽器了 12/09 16:33
→ danny8376:像IE的奇妙平滑會有這問題 12/09 16:34
→ danny8376:主要是IE的scrollTop是直接跳格的 12/09 16:35
→ mmis1000:ie似乎不會等dom全部變更完成就直接render,所以會閃動 12/09 16:35
→ danny8376:但他的畫面處理卻是平滑處理 基本上這部分無解 12/09 16:35
→ danny8376:跟render無關 主要是IE又來了個表裡不一 12/09 16:36
→ danny8376:有平滑的畫面處理 倒是沒平滑的座標更動 12/09 16:36