V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
MrGba2z
V2EX  ›  问与答

又来请教个前段问题:怎么让用户体验不到我初始化时用 js 改 text 的效果

  •  
  •   MrGba2z · 2015-11-11 01:41:16 +08:00 · 1938 次点击
    这是一个创建于 3089 天前的主题,其中的信息可能已经有所发展或是发生改变。
    大概就是:
    <div class='mytime'>
    1447177189
    </div>


    <script>
    var unixstamp = $('.mytime').text();

    $('.mytime').text(unixstamp_to_humanreadable(unixstamp));
    </script>

    但是每次网页加载完的时候。。会有个变化的过程
    我能不能让他先变了再显示给用户看?

    比如: http://jsfiddle.net/cxyms/222/
    7 条回复    2015-11-11 10:17:09 +08:00
    airyland
        1
    airyland  
       2015-11-11 01:53:25 +08:00
    加个 loading ,处理完后移除 loading
    oott123
        2
    oott123  
       2015-11-11 02:33:51 +08:00 via Android   ❤️ 1
    把数据放到属性里 或者放到 <noscript> 里 用户看到的就是空白变有字了
    banri
        3
    banri  
       2015-11-11 06:47:31 +08:00
    不太清楚楼主的使用场景,单纯看内容的话,可以使用 CSS 配合完成
    CSS 放在 <head></head> 之间, JS 放在 </body> 之前,确保 CSS 优先加载
    在 CSS 中讲需要修改的部分 `visibility: hidden`,修改完成后移除这段 CSS 就行了
    cxe2v
        4
    cxe2v  
       2015-11-11 08:25:18 +08:00
    用一个隐藏元素保存原始值就行了
    jaguar
        5
    jaguar  
       2015-11-11 09:00:41 +08:00 via Android
    先隐藏了,再用 js 修改,再 display block
    MaiCong
        6
    MaiCong  
       2015-11-11 09:10:29 +08:00 via iPhone
    data-time
    ljbha007
        7
    ljbha007  
       2015-11-11 10:17:09 +08:00
    <div class='mytime'>
    </div>


    <script>
    var unixstamp = 1447177189;

    $('.mytime').text(unixstamp_to_humanreadable(unixstamp));
    </script>


    这样不就行了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3926 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 05:11 · PVG 13:11 · LAX 22:11 · JFK 01:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.