像平常我们做滚轮滚一下一屏,是要在滚完之后才能继续滚的,这个简单,只需设置一个变量为true执行的时候为false,在animate后回调函数变回true就行了。
那么问题来了,我现在想滚第一下的时候滚一屏,滚第二次的时候只是在第一屏的层级添加一个class,在第三次的时候再滚一屏,以此类推
PS:当然每次不管滚多远都只触发一次滚动事件。附上列子链接,
http://ent.163.com/special/mingxingfanji/
像平常我们做滚轮滚一下一屏,是要在滚完之后才能继续滚的,这个简单,只需设置一个变量为true执行的时候为false,在animate后回调函数变回true就行了。
那么问题来了,我现在想滚第一下的时候滚一屏,滚第二次的时候只是在第一屏的层级添加一个class,在第三次的时候再滚一屏,以此类推
PS:当然每次不管滚多远都只触发一次滚动事件。附上列子链接,
http://ent.163.com/special/mingxingfanji/
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
然後你去 iOS,用 OSX 試試,就會發現效果慘不忍睹,因爲滾動是連續的,而且有慣性,那個慣性滾動可能比動畫時間還要長。。。結果滾一下連續切換出好幾屏。。。如果輕一點可能碰一下就會切換,還不能撤銷。。。流行的通用視差滾動都不是簡單的二值變量,而是位移和閾值,必須滾動超過一段距離才觸發。
至於記錄次數的問題,交給一個單獨的變量即可。 c++, c % 2 === 0 的時候滾動, c % 2 === 1 的時候更新 class
動畫進行時不更新 c。