TOTOP
20D
V2EX  ›  问与答

求一个 js 写法,弹出的选择器如何选中中间的 li(弹出有的滚动条,滚上滚下自动选中中间的 Li)

  •  
  •   TOTOP · Apr 24, 2022 · 1282 views
    This topic created in 1501 days ago, the information mentioned may be changed or developed.
    13 replies    2022-04-24 22:54:37 +08:00
    TOTOP
        1
    TOTOP  
    OP
       Apr 24, 2022
    滚动上下的时候,自动选中中间的 LI ,给他 addclass class=this
    nitmali
        2
    nitmali  
       Apr 24, 2022
    没看懂
    pendulum
        3
    pendulum  
       Apr 24, 2022
    什么是“弹出有的滚动条”
    TOTOP
        4
    TOTOP  
    OP
       Apr 24, 2022
    @nitmali 选日期不是有类似的 pick 吗,滚动自动选中中间的值
    TOTOP
        5
    TOTOP  
    OP
       Apr 24, 2022
    @pendulum 就是跟日期的一直滚动选中中间的 pick
    nitmali
        6
    nitmali  
       Apr 24, 2022
    你说的不会是鼠标悬停效果吧
    marcong95
        7
    marcong95  
       Apr 24, 2022
    li 元素又不接受焦点,DateTimePicker 那种不都是自己实现的么,算好位置之后设置 CSS transform: translateY(xx); 这种感觉
    nitmali
        8
    nitmali  
       Apr 24, 2022
    我知道你说的什么了。

    固定弹出层高度和子项高度,监听滚动,计算滚动距离和修正滚动,可以计算出当前显示在中间的子项
    TOTOP
        9
    TOTOP  
    OP
       Apr 24, 2022
    @nitmali 哈哈哈,已经有意思了,获取可视高度,再计算中间坐标,再选择监听滚动条的位置计算得出中间的变化的坐标
    snoopyhai
        10
    snoopyhai  
       Apr 24, 2022   ❤️ 1
    https://vant-contrib.gitee.io/vant/v2/#/zh-CN/picker

    这玩意, 其中有个参数叫 default-index

    找找源码, 看看如何实现的.
    unsized
        11
    unsized  
       Apr 24, 2022   ❤️ 2
    抛砖引玉,实现了一个轻量版的: https://output.jsbin.com/begibifaza
    f0rger
        12
    f0rger  
       Apr 24, 2022 via iPhone   ❤️ 1
    能找到对应 li 然后 scrollIntoView 吗
    TOTOP
        13
    TOTOP  
    OP
       Apr 24, 2022
    @tyx1703 牛逼~
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3727 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 10:29 · PVG 18:29 · LAX 03:29 · JFK 06:29
    ♥ Do have faith in what you're doing.