• ThingJS中支持引用css样式并使用js语法开发


    CSS in JS 使用 JavaScript 的语法,是 JavaScript 脚本的一部分,不用从头学习一套专用的 API,也不会多一道编译步骤。ThingJS中支持引用css样式并使用js语法开发。

    HTML绘制平面图形可以采用canvas标签,但是功能上只能呈现2D图形,想要呈现3D图像需要特殊上下文,于是引入了webGL技术。如果想看它的场景演示,可以访问谷歌团队Data Arts出品的基于webGL的3D场景库,前端技术圈也视它为一个蓝海技术,3D开发应用普及指日可待。

    国内的物联网可视化技术厂商ThingJS纯JS语法开发,3D效果也不输于原生应用,一切源于谷歌浏览器对webgl技术的支持。从开发生态的角度,webGL技术可以调用显卡、调用麦克风、调用摄像头等一切能用的硬件去提升服务质量,同时也支持引用js脚本和css演示,让你的3D开发效果更加有特色。

    官方如何引入外部资源呢?注意在平台新建或者上传文件仅允许js, css, html, json格式。

    我们默认js脚本和css样式会带上时间戳,且按urls数组中的顺序加载,浏览器会缓存之前的js,css的版本,我们更新了js,css文件后,浏览器不会更新。所以我们在引入相关css、js文件时使用时间戳,能够让浏览器加载我们的最新版本。如下所示。

    THING.Utils.dynamicLoad([
        '/static/vendor/twitter-bootstrap/3.3.7/css/bootstrap.min.css',
        '/static/vendor/twitter-bootstrap/3.3.7/js/bootstrap.min.js',
        '/static/vendor/moment/moment.js'],
    function () {
    

    twitter-bootstrap, moment均为外部资源,因网络原因拷贝到了thingjs网站目录。
    这样在平台上引用,开发不因为访问不到资源或者访问报错而拖延,所以我们支持css库,JS库打包并提供官方文件夹储存资源,确保稳定,也方便用户无论何时何地都可开发。
    ThingJS官方平台支持外部资源,可操作js, css文件新建或者icon、jpg、png、gif、js、css、html、json、ttf、woff、gltf、rvt、ifc、mp3格式的文件上传。

    完整运行代码示例如下。

    THING.Utils.dynamicLoad([
        '/static/vendor/twitter-bootstrap/3.3.7/css/bootstrap.min.css',
        '/static/vendor/twitter-bootstrap/3.3.7/js/bootstrap.min.js',
        '/static/vendor/moment/moment.js'],
    function () {
        // 创建App
        var app = new THING.App({
            url: 'https://www.thingjs.com/static/models/storehouse'
        });
            // 加载场景后执行
        app.on('load', function (ev) {
            var btn = createButton();
            btn.on('click', function () {
                // 使用 moment 库获取当前时间
                var now = moment().format('YYYY-MM-DD HH:mm:ss');
                console.log(now);
            })
        });
    })
    
    function createButton() {
        // 使用 bootstrap 样式
        var template =
            `<button class="btn btn-default" type="button" style="position:absolute;left:20px;top:20px;z-index:2">当前时间</button>`;
        var btn = $('#div2d').append($(template));
    
        return btn;
    }
    
    

    由于js交互特性,ThingJS轻松支持绑定事件进行各种交互操作,可视化功能随心开发!

  • 相关阅读:
    pyDNS学习
    BUUCTF password
    攻防世界 easy-apk
    Android Normal writeup
    Jarvis OJ
    阿里云服务器连接(安装)宝塔面板
    bmp格式转为jpeg格式文件
    课设记录-Day15
    课设记录-Day14
    课设记录-Day13
  • 原文地址:https://www.cnblogs.com/thingjs/p/13711336.html
Copyright © 2020-2023  润新知