V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Sponsored by
LinkedIn
不坐班的神仙工作 · 去任何你想去的地方远程,赚一线城市的工资
2000 个不用出门 Social 的全球远程工作,帮助 V2EX 的小伙伴开启全新的工作方式。
Promoted by LinkedIn
murmur233
V2EX  ›  前端开发

本人前端开发,想提问:这是一个弱智的需求吗?

  •  1
     
  •   murmur233 · 2021-05-19 17:35:17 +08:00 via iPhone · 6310 次点击
    这是一个创建于 496 天前的主题,其中的信息可能已经有所发展或是发生改变。

    页面上有一个组件,该组件宽高固定,组件里的内容高度超出组件高度则出现滚动条。

    然后产品提出了个需求,ta 希望不管组件里的内容有多少,出现的滚动条高度都不变(比如 50 像素),原因是为了美观。

    而我的想法是,当然是组件里的内容越多,滚动条自然就会变短,反之,组件里的内容较少时,滚动条会更长。不管是看 word 、excel 、其他的网页都是这样的。

    问题是,这个需求我要不要做?不做该怎么说服 ta ?(我上面的想法已经告知 ta,ta 不接受)如果真的要做,代码要怎么写?(我好像没百度出来)

    76 条回复    2021-05-20 23:48:17 +08:00
    wheelg
        1
    wheelg  
       2021-05-19 17:36:51 +08:00
    无解,直接怼产品就好
    czfy
        2
    czfy  
       2021-05-19 17:36:57 +08:00
    我的关注点是,你的代码是百度出来的,不是 github 出来的对吗..
    toacnme
        3
    toacnme  
       2021-05-19 17:37:12 +08:00
    打死这个产品
    xrr2016
        4
    xrr2016  
       2021-05-19 17:37:55 +08:00
    产品是有多闲提出这种无聊的需求...
    xiyuesaves
        5
    xiyuesaves  
       2021-05-19 17:39:47 +08:00
    这个需求首先就不太对吧,要实现的话只能自己写一个滚动条了,也不难吧.
    Leonard
        6
    Leonard  
       2021-05-19 17:41:12 +08:00
    就说做不了,这个组件不能改
    Leonard
        7
    Leonard  
       2021-05-19 17:41:57 +08:00
    一定要改的话加三天工期
    teslayun
        8
    teslayun  
       2021-05-19 17:43:38 +08:00
    你这样给产品说
    1.滚动条长短可以给用户反馈,初步知道内容的多少,
    2.内容过长的时候,滚动条越短,越方便用户滑动,定位
    Ayanokouji
        9
    Ayanokouji  
       2021-05-19 17:45:29 +08:00   ❤️ 14
    改这个滚动条需要一周
    vinsony
        10
    vinsony  
       2021-05-19 17:46:13 +08:00
    这产品就是属于吃饱了没事干的那种
    ayase252
        11
    ayase252  
       2021-05-19 17:48:11 +08:00
    是弱智需求,与主流浏览器的操作习惯不一样,用起来肯定别扭。
    tobeyouth
        12
    tobeyouth  
       2021-05-19 17:53:34 +08:00
    弱智需求,面对这种需求,建议 TA 想想为什么浏览器、各家操作系统的滚动条没这么设计。
    如果 TA 实在觉得自己确实牛逼到秒杀所有人的程度,建议直接说 “不给做”。
    ryncv
        13
    ryncv  
       2021-05-19 17:53:53 +08:00
    仔细想一下,滚动条高度 /组件高度 = 组件高度 /全部内容高度
    这个比例不是固定的吗?
    内容是可变的,组件高度也是固定的, 你怎么做到滚动条高度固定? 逻辑不通啊。
    sgiyy
        14
    sgiyy  
       2021-05-19 17:53:54 +08:00
    这产品真是太闲了,就不能干点有意义的事?不能惯他这毛病,最多接受修改默认滚动条的样式。
    cmdOptionKana
        15
    cmdOptionKana  
       2021-05-19 17:59:49 +08:00   ❤️ 1
    滚动条长度不仅与是否美观有关,还和滚动速度有关,如果滚动条固定长度,滚动速度就会随着内容的多少而变化。

    先别反驳他,先不置可否,赶紧想办法让他给一个书面申请!

    以后拿着这个需求,可以说他一辈子,永远占上风!
    brader
        16
    brader  
       2021-05-19 18:09:04 +08:00   ❤️ 16
    滚动条长度固定不变,换来的必然是拉动速度和距离比例的变动,这就会造成一种现象:
    如果内容少,你滚动条拉好远,才拉这么一点距离。
    如果内容多,你滚动条拉一点点,飞过的距离都非常长。

    多少代工程师才优化出这样完美的线性比例,符合人机交互反馈习惯,被他这样一搞全毁了。
    总结起来一句话:SB!
    jianghui
        17
    jianghui  
       2021-05-19 18:10:43 +08:00
    隐藏 浏览器自带的滚动条。overflow:hidden 。
    自己通过 div 模拟一个 滚动条。
    个人觉得这个功能优先级极低。没有什么太大的价值。
    可以跟他说优先级低,排后。然后无限制延期
    qianxiaoxiao
        18
    qianxiaoxiao  
       2021-05-19 18:19:58 +08:00
    我觉得这个需求很 OK
    akakidz
        19
    akakidz  
       2021-05-19 18:32:50 +08:00
    挺 sb 的, 估计做完会跟你说不要了
    katsusan
        20
    katsusan  
       2021-05-19 18:35:43 +08:00
    非专业前端,这个滚动条应该是有最短长度的吧,否则溢出内容很多的话会不会让滚动条短到肉眼不可见。
    suzic
        21
    suzic  
       2021-05-19 18:35:44 +08:00 via Android
    不做。不能惯着他,他要是不服就去找领导评审下
    NeoChen
        22
    NeoChen  
       2021-05-19 18:36:10 +08:00 via iPhone
    找另一个产品怼他,或者评估工期让他自己决定做不做
    darknoll
        23
    darknoll  
       2021-05-19 18:46:18 +08:00   ❤️ 2
    把真实的滚动条隐藏,做个假的
    no1xsyzy
        24
    no1xsyzy  
       2021-05-19 18:59:06 +08:00   ❤️ 5
    VS Code/Codium 在设置 "editor.minimap.size": "proportional" 的情况下,是定长滚动条,技术上可行的,但为了使得这一操作是直观的,底图跟着反方向动了。
    这样一个滚动条大概需要两个月的时间。

    ——

    @ryncv 其实不是,有最小长度,不然足够长的页面能让你永远点不到滚动条,比如 Excel 最多大约 104w 行,一屏 60 行左右,你的屏幕纵向有 1w 像素吗?
    但是你开个空白工作簿,Ctrl-Down 跳到最下方,滚动条变成一条细线了吗?显然没有。
    treblex
        25
    treblex  
       2021-05-19 18:59:35 +08:00 via iPhone
    内容高度,滚动位置,算百分比
    Touchmove 控制滚动
    应该就可以

    但是没有必要,不如直接隐藏滚动条吧,也挺美观😂
    HeyWeGo
        26
    HeyWeGo  
       2021-05-19 19:00:52 +08:00
    可不可以实现?可以!但是显然产品首先不应该说是美观出发,而是说是否有交互或功能上的必要。

    —————————以下是案例—————————————

    你可以看看 discourse 论坛有个类似的功能,在帖子内容页的右上角都有个 slide 可用控制页面的滚动,那个 slide 就是固定长度的。

    ————————好好商量,没必要上来就搞对立关系————————————
    KouShuiYu
        27
    KouShuiYu  
       2021-05-19 19:15:58 +08:00   ❤️ 1
    最特么讨厌这种需求了,可以做,可以不做,做了没什么卵用,还贼耗时间
    TomVista
        28
    TomVista  
       2021-05-19 19:23:55 +08:00 via Android
    batter scroll 可以实现
    shpkng
        29
    shpkng  
       2021-05-19 19:27:44 +08:00
    没有用过手机吗?手机上的滚动条不是一大堆固定高度的?
    而且看你最后一句,是面向百度编程吗?
    otakustay
        30
    otakustay  
       2021-05-19 19:44:05 +08:00
    这需求可以实现,不难,但这产品设计就是个屎
    SilentDepth
        31
    SilentDepth  
       2021-05-19 19:49:08 +08:00   ❤️ 1
    不能说完全弱智。当内容较多而容器高度较小时,滚动条的 thumb 可能会变得很小,不便于用户直接拖动 thumb 。这时设法控制 thumb 的长度是合理(且有意义)的。

    但这属于极端情况,如果你们的产品不需要考虑这种场景,那么这个需求不能说毫无意义,只是价值不高。不过退一步讲,当默认状态下 thumb 的长度已经是合理的,特意限制 thumb 的长度就有些无脑了(原因楼上几位说得很明白了)。滚动条不是 Range input,thumb 的长度是有业务含义的。

    总之如果一定要实现出来的话,只能自行实现一个虚拟滚动条(自行计算内容高度和容器高度,结合 scrollTop 控制 thumb 的偏移)。
    wunonglin
        32
    wunonglin  
       2021-05-19 19:50:25 +08:00
    需求确实傻逼,做是可以做。

    100%高一个滚动条容器,然后滚动条固定高度,然后使用拖动事件,计算拖动实现。

    简单是简单,但是你最好就说:“能做,大概需要一周”
    😁
    OHyn
        33
    OHyn  
       2021-05-19 20:04:47 +08:00
    @HeyWeGo

    discourse 那个是应对长列表懒加载而生的功能吧,常规论坛都是翻页。

    说到这个,B 站的评论区变成懒加载的长列表了,超难用,没法跳转了,以前翻页用得多舒服。
    yhxx
        34
    yhxx  
       2021-05-19 20:29:17 +08:00
    做起来还是挺简单的吧,不是几行 CSS 就行了?关键词直接搜滚动条样式就好了啊
    不过真不想做的话,就像楼上说的一样,可以做,7 人日,让产品评估吧
    ch2
        35
    ch2  
       2021-05-19 21:16:11 +08:00
    自己画一个滚动条
    muzuiget
        36
    muzuiget  
       2021-05-19 21:44:56 +08:00
    弱智需求,我也喜欢通过滚动条长度来判断内容的多少。这个功能不是说不能实现,只是觉得浪费时间。
    MartinWu
        37
    MartinWu  
       2021-05-19 21:49:22 +08:00
    @ryncv #13 你这个不是必然的。滚动条保持不变,随着内容越多,增减滚动条滑动的单位长度-滚动过的内容长度 的比例,也是可行的。他的需求不一定合理,但是也不要太局限自己的思维。只不过这肯定要前端自己实现个滚动条出来,而非用浏览器自己的了。
    Elethom
        38
    Elethom  
       2021-05-19 21:58:32 +08:00
    太弱智了,PM 不懂 miniature concept 吗。赶紧离职吧,以后都是坑。
    bojackhorseman
        39
    bojackhorseman  
       2021-05-19 21:59:12 +08:00 via iPhone
    @brader 哈哈哈哈
    love
        40
    love  
       2021-05-19 22:13:40 +08:00
    你们是啥 App ?我看看产品闲得都提出这种问题了 App 应该是尽善尽美了
    israinbow
        41
    israinbow  
       2021-05-19 22:16:43 +08:00
    让滚动条的最大长度等于最小长度等于一个常量, 假装自己实现了固定高度
    jrtzxh020
        42
    jrtzxh020  
       2021-05-19 22:23:12 +08:00
    可以做,但没必要。耗时耗力,用户体验也提升不了!
    djs
        43
    djs  
       2021-05-19 22:44:35 +08:00
    傻逼需求
    GeruzoniAnsasu
        44
    GeruzoniAnsasu  
       2021-05-19 23:11:56 +08:00
    如果用户没感到使用不便,那这是个傻逼需求

    如果用户因为滚动条使用体验受到很大影响,比如你测试环境一千条数据跑得好好的拿到客户那一下出来 10w 条数据后端价钱解决了前端却滚动条根本没法用,那这是个很必要的需求





    我们说 抛开 ROI 谈需求都是耍流氓
    dethan
        45
    dethan  
       2021-05-19 23:41:02 +08:00 via Android
    不小心把这个 V2EX 问题发给他
    ClericPy
        46
    ClericPy  
       2021-05-19 23:49:54 +08:00
    我也想到的是隐藏默认滚动条然后自己监听事件伪造一个滚动条... 反正可见区域展示多少可以在 JS 里控制, 全部内容也能缓存起来, 就是感觉挺傻的
    zspzwal
        47
    zspzwal  
       2021-05-19 23:59:52 +08:00
    滚动还是缩放
    fewok
        48
    fewok  
       2021-05-20 00:21:22 +08:00
    ROI 走起,有什么收益?说出的收益能打包票嘛?
    exploreexe
        49
    exploreexe  
       2021-05-20 04:13:43 +08:00
    不会真有人想做这样的需求吧?

    直接开怼,不要客气,当面问他:你是傻逼么?

    对这样的傻逼产品不要留面子,跟老板说让他滚蛋。
    xuanbg
        50
    xuanbg  
       2021-05-20 05:38:21 +08:00
    楼主你们没事干了吗?
    滚动条上面滑块高度动态还是固定不是 UI 的事情吗?这个产品越权了吧。这种可有可无的视觉效果,但凡是个靠谱的 UI,就不会去花时间在这上面。
    kunkunzhang
        51
    kunkunzhang  
       2021-05-20 06:59:06 +08:00
    确实是弱智需求,但是我有一个办法,页面加载到一定长度就用虚拟列表呗,高度应该可以一样
    zxCoder
        52
    zxCoder  
       2021-05-20 08:26:39 +08:00
    没懂这什么逻辑

    那如果内容很多,然后滚动条还是很长,那拉滚动条的时候不是跟便秘一样,拉都拉不动?
    dyxLike
        53
    dyxLike  
       2021-05-20 08:56:39 +08:00
    navicat 的滚动条就是定长的, 还非常短, 别提有多恶心了
    yunyuyuan
        54
    yunyuyuan  
       2021-05-20 09:03:41 +08:00
    建议回答:这个需求技术上有点困难,给我半个月时间一定完美做出来。
    laobei521
        55
    laobei521  
       2021-05-20 09:18:58 +08:00
    吴彦祖:用白话文说就三个字 "干不了"
    c6h6benzene
        56
    c6h6benzene  
       2021-05-20 09:22:34 +08:00 via iPhone
    @shpkng 说的有道理,有可能是这种场景。不过手机的话用户一般不会直接与滚动条互动,所以这个滚动条只是用来显示当前页面位置的。
    wt12312345
        57
    wt12312345  
       2021-05-20 09:23:11 +08:00
    这是个连浏览器都没用过的产品经理吧。。。什么鬼需求,直接怼死他
    q197
        58
    q197  
       2021-05-20 09:29:41 +08:00
    有的游戏里面的滚动条就是这样。其实游戏滚动条奇葩的不少,例如滚动条让用户分不清前景和背景,拖动时滚动的方向,点击背景时的动作……
    NEVERCODE
        59
    NEVERCODE  
       2021-05-20 09:29:59 +08:00
    虽然我不会前端,但我真心不觉得难做…

    比如窗口长度是 100,控制条长度是 10,根据滑动比例,百分比控制内容滑动就可以了。
    mcluyu
        60
    mcluyu  
       2021-05-20 09:36:05 +08:00
    脑残需求,但是非要做的话加工期就好了,时间充裕做啥都行。
    kamal
        61
    kamal  
       2021-05-20 09:46:20 +08:00
    如果是网页的话,可以看看这个项目,最后一次更新是 8 年前
    https://github.com/mzubala/jquery-custom-scrollbar
    Myprajna
        62
    Myprajna  
       2021-05-20 09:47:06 +08:00
    公司有 UI 或者交互设计师吗?拉上他们一起怼产品
    elone
        63
    elone  
       2021-05-20 09:51:48 +08:00
    干脆直接取消滚动条,模仿成触屏滚动。

    当然用户可能并不知道你可以滚动 。
    grewer
        64
    grewer  
       2021-05-20 10:00:03 +08:00
    回答你的标题, 是的
    Junh
        65
    Junh  
       2021-05-20 10:06:03 +08:00
    是的
    exceloo
        66
    exceloo  
       2021-05-20 10:12:56 +08:00
    可以干,工时 x3,排期待定
    tabris17
        67
    tabris17  
       2021-05-20 10:18:26 +08:00
    第三方组件,没法改,要自己定制,开发周期 3 个月
    Zchary
        68
    Zchary  
       2021-05-20 10:44:41 +08:00 via iPhone
    你们产品管的真多,这不是 UI 设计规范的问题吗?小公司没这资源照着 Material,antd 学习就行啊
    mogazheng
        69
    mogazheng  
       2021-05-20 11:33:11 +08:00   ❤️ 2
    1.画滚动条。
    2.控制自然滑动时滚动条的速度,内容越长,滚动条滚动越慢。
    3.控制拖动滚动条时内容的滚动速度,内容越长,拖动同样距离的滚动条位置,内容滚动越快。

    工时×3 起步妥妥的
    paloalto
        70
    paloalto  
       2021-05-20 11:33:57 +08:00
    你们公司有设计吗?如果产品觉得是「为了美观」,拉上产品一起去找设计。
    ryuutanyou
        71
    ryuutanyou  
       2021-05-20 11:56:32 +08:00
    我是产品,我来回答:这是一个弱智的需求
    richChou
        72
    richChou  
       2021-05-20 13:16:11 +08:00
    我们产品届的水分真应该挤一挤了。
    XiaMuCoder
        73
    XiaMuCoder  
       2021-05-20 13:21:41 +08:00
    弱智需求
    KyonLi
        74
    KyonLi  
       2021-05-20 13:38:31 +08:00
    自己写了一下这个需求,在实现点击 track 滚动后 thumb 中心精确停留在点击位置卡了半小时,还是太菜了
    fox2081
        75
    fox2081  
       2021-05-20 16:26:35 +08:00
    想起来之前产品提的说用 QQ 浏览器下载系统的文件会弹窗选保存地址,Chrome 不会,让我们把弹窗也加上,让我们组员去解释了,但是结果还是要做,我有点儿生气直接给 boss 说了让他去解释。
    jones2000
        76
    jones2000  
       2021-05-20 23:48:17 +08:00
    首先是能不能做, 能做,评估开发时间。 至于这样设计对不对, 产品说了算。 你做一天拿一天工资,管他这么多呢。
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1704 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 323ms · UTC 17:20 · PVG 01:20 · LAX 10:20 · JFK 13:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.