V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
17681880207
V2EX  ›  前端开发

关于 ChatGPT 回答的时候,文字渐显的效果是如何实现的?

  •  
  •   17681880207 · 5 天前 · 1236 次点击

    ChatGPT 官网回答的时候的效果~
    请教下各位老哥,有了解和知道的吗?

    第 1 条附言  ·  5 天前
    感谢各位老哥们的答疑,怪我问题没表述清楚,我想表达的是文字出现时候的淡入效果,十分的流畅。自己没有思路想到咋去这么流畅的实现动画
    13 条回复    2025-04-09 17:45:45 +08:00
    concernedz
        1
    concernedz  
       5 天前
    一个字一个字出来的效果吗?我记得是 SSE 吧?
    thenxkk
        2
    thenxkk  
       5 天前
    chairuosen
        3
    chairuosen  
       5 天前
    sse 也是一大段一大段拿的,文字逐字蹦出来只是前端效果
    chairuosen
        4
    chairuosen  
       5 天前
    一大段字排成数组,设置一个游标定时向后移动,渲染取数组 slice 游标的结果
    chenliangngng
        5
    chenliangngng  
       5 天前
    这功能我做过,前端拿到任意的文本后,随机截取然后拼接,说白了就是假的
    xiaoz
        6
    xiaoz  
       5 天前 via Android
    SSE 可以实现,openai 官方的 API 接口有个选项就是开启 stream 流式传输。具体可以问问 AI
    murmurkerman
        7
    murmurkerman  
       5 天前 via iPhone
    你是说渐变动画么,就一个简单的渐变 shader ,每个新增的文本加上一一个固定时间的动画就好了,就会实现一个渐显的动画。然后优化下动画性能。
    vace
        8
    vace  
       5 天前   ❤️ 1
    可以 F12 看源码,SSE 响应的字符,用 <span class="_fadeIn"> 包裹,通过 css 的 animation 和 keyframes 定义一个 700ms 的淡入动画。等整段响应完成,合并字符为段落。
    17681880207
        9
    17681880207  
    OP
       5 天前
    @concernedz
    @thenxkk
    @chairuosen #3
    @chairuosen #4
    @chenliangngng
    @xiaoz
    感谢各位老哥的答疑,可能我的表述不是很清楚,我想表达是的最新文字出来的渐显动画效果~😋
    learnshare
        10
    learnshare  
       5 天前
    处理过简单的效果。前端获取到大段内容,切分为多个片段(元素),再逐步通过显示。

    其中细节也很多,比如:

    + 需要整段获取内容,防止 Markdown 渲染为 HTML 时的错乱
    + 需要根据内容长度,合理调整切片数量和长度,以及动画效果
    + 列表也需要有合适的滚动动作
    pdog18
        11
    pdog18  
       5 天前
    是不是可以尝试把你的这个问题问 ChatGPT
    lawted
        12
    lawted  
       4 天前
    17681880207
        13
    17681880207  
    OP
       4 天前
    @lawted
    感谢!!!!!我的老天鹅~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   942 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 395ms · UTC 22:45 · PVG 06:45 · LAX 15:45 · JFK 18:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.