islujw
V2EX  ›  CSS

滑动页面时,元素所处的高度百分比在不断变化,如何相应变化 CSS 值?

  •  
  •   islujw · Oct 8, 2017 · 3245 views
    This topic created in 3162 days ago, the information mentioned may be changed or developed.

    元素在页面的不同高度,用百分比表示,例如最底部是 100%,顶部是 0%,中间是 50%。

    根据所处的不同高度,相应地控制 CSS 值。

    例如 opacity:在 100% 关键帧处为 0 ;在 50% 处为 1。那么在滑动的过程中,就会随着高度的变化而产生任何 CSS 样式的变化。同理,可以是 translate 的 Y 值改变。

    是否有 JavaScript 可以实现这个需求呢?

    *在此基础上,再讨论动画方法的问题,例如贝塞尔曲线和延时。

    1 replies    2017-10-08 22:33:13 +08:00
    SilentDepth
        1
    SilentDepth  
       Oct 8, 2017
    如果元素的位置是相对 <body> 而定的话,监听 scroll 事件计算元素当前相对于 viewport 的位置,相应地改变其样式就好了。不过似乎我没太看懂楼主的描述……
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1103 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 23:35 · PVG 07:35 · LAX 16:35 · JFK 19:35
    ♥ Do have faith in what you're doing.